Also published in a single part on Medium

Measuring camera flash lag, part 1: identifying the problem

Introduction

I own a Fujifilm X-T4 mirrorless camera, along with a Godox TT600 flash and a Godox XPro-F radio trigger.

I dabble in dance photography, which requires very precise timing of the shutter release to catch the apex of jumps or other fleeting moments. With some practice, it becomes easier to nail the shot most of the time.

However, I noticed that when I used the Godox flash and trigger, I often missed the shot. It seemed like the flash was introducing a slight delay in the shutter response. Not huge, but definitely noticeable, and enough to ruin a shot.

So, my first instinct was to Google the issue. Sure enough, a few people had already complained about it on various forums. This also gave me some insight into the likely cause of the delay: TTL. In case you don’t know, TTL is a mode where the flash power is automatically adjusted to achieve the desired exposure. It works by firing a “pre-flash” when the shutter button is pressed, but before the actual shot. By observing how much of the pre-flash bounces back through the lens (TTL), the camera can compute how much power the real flash should use.

You can read more about TTL on Wikipedia. The key point here is that TTL does extra work before taking the shot, and that takes time.

A fix, almost

I don’t need TTL. I always set my flash power manually. In fact, the TT600 flash doesn’t even support TTL, meaning it won’t fire a pre-flash at all.

TTL and Manual flash modes on the camera

When the TT600 is mounted directly on the camera, the camera correctly detects it as a manual-only flash and sets itself to Manual (M) flash mode. In that setup, I can’t feel any added delay.

But when the XPro-F trigger is mounted on the camera, the camera forcibly switches to TTL mode and won’t let me choose M mode, even though the trigger is only talking to the manual-only TT600, and the power is manually set on the trigger. In that configuration, I can feel the lag.

A simple way to force the trigger into Manual mode is to block all the pins except the center one on the hot shoe. All you need is a piece of tape or paper with a small hole in the middle. This prevents the camera and trigger from negotiating smart modes like TTL, but it still fires the flash just fine. Now, M mode can be selected on the camera, and the lag disappears.

So, problem solved? Leave that piece of paper in the hot shoe and call it a day?

Not so fast. I don’t need TTL, but I do need High Speed Sync (HSS), and that requires a working smart connection between the camera and trigger.

Getting objective data

On the forums, I saw a few claims that Godox fixed this issue in another trigger, the older X1T-F, via a firmware update and an obscure “custom function.”

It was cheap enough, so I bought one. But I also wanted to be sure the problem was actually fixed, that there was no added delay with the X1T-F. I wasn’t happy just feeling the difference. I was also curious to know exactly how much of a delay there was.

Godox TT600 flash, X1T-F and Xpro-F triggers
my small Godox family

And I figured this was finally a good excuse to use the Arduino kit I bought ten years ago.

So I set about constructing a device to measure it.

The hardware and code I used will be covered in part 2. For now, let’s look at what I found.

Test configurations

I tested a few different setups:

In the XPro-F and X1T-F (cf11=0) configurations, the camera switches to TTL mode. In all the other setups, it stays in Manual mode.

I measured each configuration 10 times. Here are the results:

chart of results

All the Manual-mode configurations have a lag of around 80 ms. All the TTL-mode ones jump to 200 ms.

What this means

I was able to confirm that the Godox triggers do introduce extra lag in shutter-to-flash timing. This is most likely due to their forcing TTL mode, even when it’s not needed.

The added delay is 120 ms on top of the base 80 ms. So it nearly triples the lag. That’s definitely enough to be a problem, especially in dance photography where timing is everything.

The only exception is the X1T-F trigger when configured with custom function 11 set to 2. That forces the camera into Manual mode, and everything works fine, including HSS. That’s what I’ll be using from now on. I guess I can’t blame the camera when I miss a shot anymore.

Still, I’m annoyed that I had to buy a new trigger, and an older one at that. The X1T-F is less ergonomic than the XPro-F, and it doesn’t inspire confidence in the future if newer triggers keep locking TTL on.

But the fact that cf11 works proves something important. It is possible for a trigger to switch between TTL and Manual mode dynamically. The camera reacts instantly when you change cf11. The trigger could and should do this automatically:

Godox, please fix your firmware.