HOWTO: Quick Frame Transport (QFT) - Large Vertical Totals (reduce lag, reduce crosstalk)

Advanced display talk, display hackers, advanced game programmers, scientists, display researchers, display manufacturers, vision researchers & Advanced Display Articles on Blur Busters. The masters on Blur Busters.
User avatar
Chief Blur Buster
Site Admin
Posts: 11856
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

HOWTO: Quick Frame Transport (QFT) - Large Vertical Totals (reduce lag, reduce crosstalk)

Post by Chief Blur Buster » 08 Aug 2021, 04:15

What are Large Vertical Totals / Quick Frame Transport?

It's a method of reducing latency of video signals & improving the quality of strobe backlight modes (less strobe crosstalk). For more information about tuning a monitor via Strobe Utility, see www.blurbusters.com/xg2431

Large Vertical Totals are also known as Quick Frame Transport aka QFT, because they speed up the delivery of the refresh cycle over the cable, e.g. a 120Hz refresh cycle in 1/240sec on a 240Hz monitor. There are two big reasons:
1. Reduce Input Lag
2. Reduce Strobe Crosstalk

Usually QFT is only useful for lower refresh rates on a higher Hz panel.

More Reading

There's additional bigger articles about Large Vertical Totals (QFT)
1. Custom Resolution Utility Glossary
2. Quick Frame Transport (Large Vertical Totals)
3. HOWTO: Settings For Full Panel Crosstalk-Free Low-Lag Strobing (ViewSonic XG2431)
4. Why Is Refresh Rate Headroom Good For Strobe Backlight Motion Blur Reduction?
5. Different 240 Hz Panels That Are Laggy For 60 Hz, While Others Are Not

Image

But this is not HDMI exclusive! It works on DisplayPort too, with these undocumented hacks.
Quick Frame Transport works on all video cables including HDMI, DisplayPort and Thunderbolt/USB-C (DisplayPort mode).

IMPORTANT! IMPORTANT! IMPORTANT! Fact check (to prevent arguments)
For many monitors, this is undocumented. You MAY not get improvements, but it is consistent with math & science computing to lower latency in a generic cable-independent way.


How does Quick Frame Transport Work?

Until manufacturers natively implement QFT into monitor firmware, it has to be created manually on a PC. You need a Custom Resolution Utility to create QFT modes, such as ToastyX CRU from www.monitortests.com ... You will see complicated numbers in a Custom Resolution Utility. To understand better, it is simply modifications to signal geometry including hidden pixels off the edges of the screen:

Image

Pixels are transmitted over a video cable one pixel row at a time, top-to-bottom. This is essentially a serialization of a 2D image (a refresh cycle) into a one-dimensional medium (a video cable), which we've been doing ever since raster video was invented more than a century ago. Pixels are transmitted like a book (left to right, top to bottom) and the pixels of a display signal are normally delivered in the same order.

The horizontal porches and sync intervals are separators between pixel rows.
The vertical porches and sync intervals are separators between refresh cycles.

To speed up frame delivery for a lower refresh rate (on a high Hz monitor), you ideally want a large blanking interval (a huge separator between refresh cycles). For a 240 Hz monitor, it means it is possible to have a 120Hz refresh cycle delivered in 1/240sec, or a 60Hz refresh cycle in 1/240sec.

Note: QFT generally doesn't help non-strobed VSYNC OFF or VRR (already defacto QFT-like behaviors). QFT helps reduce lag of synchronized technologies such as strobing or VSYNC ON. Yes, it will reduce lag of strobed VSYNC OFF or non-strobed VSYNC ON. It just doesn't always reduce lag of non-strobed VSYNC OFF (unless it's a fixed-scanrate panel). The mathematical and technical reasons will be omitted from here for simplicity's sake, but this question can be answered with a complex Area51-worthy answer upon request.

Comparison of Fixed-Hz QFT to Variable Refresh Rate
  • FreeSync/G-SYNC are already defacto automatic QFT modes. It's easier to reduce latency via a capped FreeSync/G-SYNC mode as they are the world's lowest latency non-VSYNC-OFF technologies.
  • FreeSync/G-SYNC variable refresh rate are are always permanently max-Hz and use a variable-sized vertical total (via varying the vertical porch) to dynamically vary the refresh rate. If you can use VRR instead of QFT, please do so. Capped VRR is much easier than fixed-Hz QFT.
  • However, there are many reasons why you may need a fixed-Hz QFT / Large Vertical Total mode instead (e.g. certain retro content, fighting games, emulators, low-latency strobing, low-crosstalk strobing). Most strobe modes on most monitors only support fixed-Hz, or produces the best image quality during fixed-Hz.
  • This specific HOWTO teaches you how to manually create a fixed-Hz QFT mode that is useful for reducing low-Hz latency on a high-Hz monitor, as well as reducing strobe crosstalk.
Instructions on Creating a Quick Frame Transport Mode

Download, install and run ToastyX from www.monitortests.com then click "Add" to begin creating a new custom resolution.

Important: Unless intentional, it is best to disable VRR (FreeSync, G-SYNC) both in your monitor's OSD and on your computer side, before beginning to do these tweaks.

The easiest steps are to use ToastyX and derive from a WORKING mode.

1. Start with working max-Hz mode
On most modern panels, the existing default max-Hz mode built into monitor's EDID will work.

Image

2. Switch to Manual

Image

3. Put First Radio Button on "Total"
4. Put Second Radio Button on "Horizontal" (or "Pixel Clock")
Now you can choose a custom large vertical total by increasing the Vertical Total to lower your Hz to target Hz
Your horizontal scan rate and pixel clock will stay unchanged as you transfer bandwidth from Hz to Vertical Total
You're still transmitting the same number of pixel rows per second over the cable, just fewer visible pixel rows, and more offscreen blanking interval pixel rows). The net result is that the visible pixel rows are always transmitted from GPU to monitor at full velocity at monitor's max-Hz velocity despite having a lower fixed Hz refresh rate

Image

5. Example1: Double Vertical Total to Halve Hz (2x QFT at half Hz)
This example transmits a 8.3ms(1/120sec) refresh cycle in only 4.2ms(1/240sec) resulting in 4.2ms lag saving for bottom screen edge
This will transmit the refresh cycle over the video cable at 2x its normal low-Hz velocity
Do not edit any other numbers, do not edit Hz, only edit Vertical Total, the refresh rate will be calculated automatically

Image

6. Example2: Quadruple Vertical Total to Quarter Hz (4x QFT at quarter Hz)
This example transmits a 16.7ms(1/60sec) refresh cycle in only 4.2ms(1/240sec) resulting in 12.9ms lag saving for bottom screen edge
This will transmit the refresh cycle over the video cable at 4x its normal low-Hz velocity
Do not edit any other numbers, do not edit Hz, only edit Vertical Total, the refresh rate will be calculated automatically

Image

Once you create your custom mode, reboot your computer (or run ToastyX restart64.exe to reboot your GPU without needing to reboot Windows). Test your custom mode. Verify your new Vertical Total shows up in Strobe Utility too. If it works, repeat the DIY strobe tuning steps above to get your reduced strobe crosstalk & low lag.

For intermediate refresh rates, calculate the vertical total using this formula:

Desired Vertical Total = (Original Vertical Total) x (Original Hz) / (Destination Hz)

Currently, this is the easiest way to create QFT modes at this time. We are still waiting for a monitor manufacturer to pre-program plug-n-play QFT EDIDs into the monitor that can be enabled/disabled via a "Quick Frame Transport: ON/OFF" setting.

BONUS QFT can compensate for poor 60Hz latencies of 240Hz panels! Most 240Hz panels do a very bad job of 60Hz lag (see diagrams), but QFT can compensate fully for this (as long as the device supports QFT -- such as a PC). Consoles such as XBox and PlayStation are currently out of luck at this time (though hardware EDIDs need to be tested for undocumented XBoxSeries/PS5 support).

Strobe Crosstalk Reductions: Fewer Double Images During Blur Reduction

More VBI time to hide LCD GtG pixel response between refresh cycles results in a much taller zero-crosstalk zone (as an additional benefit above-and-beyond latency reductions). As long as you're doing framerate=Hz, you can get much more perfect CRT motion clarity:

Image

Both the new 60Hz single-strobe monitors tuned by Blur Busters support QFT 60 Hz single strobe modes, include the ViewSonic XG2431 (Blur Busters Approved 2.0) and the Eve Spectrum 4K144 (Tuned by Blur Busters).

Caveats

NOTE #1: Occasionally, QFT modes may interfere with non-QFT modes, you may have to delete the original non-QFT mode from ToastyX. Alternatively, duplicate the QFT numbers you have in ToastyX into NVIDIA Control Panel (so both ToastyX and NVIDIA has it), to force-override an existing non-QFT mode (e.g. replacing existing 60Hz mode with QFT 60Hz mode).

NOTE #2: QFT mainly supports strobed VSYNC ON, strobed VSYNC OFF, or nonstrobed VSYNC ON. Fast Sync / Enhanced Sync / RTSS Scanline Sync can be used too, to reduce lag even further. QFT does not always reduce latency of non-strobed VSYNC OFF or VRR, unless it is a fixed-scanrate panel being driven at a lower signal scanrate (see diagrams).

WARNING: Custom Resolution Utility tweaking can cause your monitor to go OUT OF RANGE. Please do not do advanced steps (e.g. Custom Resolution via NVIDIA Control Panel or ToastyX) without knowing what you are doing. Make sure you know how to use such utilities before following such steps. Make sure you have a 2nd monitor, so you can more easily undo OUT-OF-RANGE modes. Another trick is to switch inputs on the ViewSonic (use HDMI instead of DisplayPort, or DisplayPort instead of HDMI) to get a picture back to allow you to undo your tweak. The popular utility, ToastyX CRU, includes reset-all.exe which you can run to undo all mis-tweaking. Safe Tweaking!

IMPORTANT: To Finish QFT strobe crosstalk reduction:
- For ViewSonic XG2431, readjust via ViewSonic Strobe Utility
- For BenQ XL2411/XL2720, readjust via BenQ Strobe Utility
- For Eve Spectrum, readjust via Eve Strobe Utility
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!


nyxo100
Posts: 109
Joined: 17 Mar 2021, 01:53

Re: HOWTO: Quick Frame Transport (QFT) - Large Vertical Totals (reduce lag, reduce crosstalk)

Post by nyxo100 » 08 Aug 2021, 18:50

doesn't work in my monitor black screen :C

Arbybear
Posts: 9
Joined: 04 Oct 2020, 01:18

Re: HOWTO: Quick Frame Transport (QFT) - Large Vertical Totals (reduce lag, reduce crosstalk)

Post by Arbybear » 09 Aug 2021, 00:16

I don't think I entirely understand custom resolutions.

What is the difference between detailed and standard resolutions in ToastyX CRU? Why are there a limited number of slots available? Is it because these resolutions are stored on the monitor?

I saw this comment by Chief here that says
Generally you have to replace a Hz with a QFT version of the same Hz, you can't have a QFT and a non-QFT version of the same Hz at the same time
I have an XG2431, and I want to have some different resolutions I can quickly switch between, including 60hz QFT and non-QFT. How can I achieve this? I assume it would involve swapping out detailed resolutions every time I want to switch.

User avatar
RealNC
Site Admin
Posts: 4103
Joined: 24 Dec 2013, 18:32
Contact:

Re: HOWTO: Quick Frame Transport (QFT) - Large Vertical Totals (reduce lag, reduce crosstalk)

Post by RealNC » 09 Aug 2021, 01:14

Arbybear wrote:
09 Aug 2021, 00:16
What is the difference between detailed and standard resolutions in ToastyX CRU? Why are there a limited number of slots available? Is it because these resolutions are stored on the monitor?
The EDID format is standardized. It just can't contain a large number of modes. The format was standardized many years ago. See https://en.wikipedia.org/wiki/Extended_ ... ation_Data

CRU is an EDID creation tool, so it must generate an EDID that follows the spec. The GPU driver that reads the EDID generated by CRU would get confused if it wasn't following that spec. What CRU does is simply tell the GPU driver to ignore the EDID stored in the monitor and instead use the EDID CRU has stored in the Windows registry. But that EDID must still be valid and follow the spec, otherwise the GPU driver wouldn't be able to read it.

The "standard resolutions" section of the EDID lists supported standard resolution modes. A standard mode is a resolution/Hz combination with timings specified by VESA. The "detailed resolutions" section is for modes for which VESA does not specify predetermined timings, so the timings need to be specified in full detail. There's limited room in the EDID spec, so there's only a few modes allowed.

This was a problem for modern displays, so the EDID spec introduced extension blocks where you can specify additional detailed resolutions. CRU supports that as well, so you're not limited to only a few detailed custom resolutions. You can add many more with extension blocks.
I saw this comment by Chief here that says
Generally you have to replace a Hz with a QFT version of the same Hz, you can't have a QFT and a non-QFT version of the same Hz at the same time
I have an XG2431, and I want to have some different resolutions I can quickly switch between, including 60hz QFT and non-QFT. How can I achieve this? I assume it would involve swapping out detailed resolutions every time I want to switch.
You need to either have the resolution be different (like by just 1 pixel), or the refresh rate be different enough as to be detected as a different mode by the GPU driver. For example a 59.94Hz mode for non-QFT 60HZ, and 61Hz for QFT. These should then show up as different modes that you can select between.
SteamGitHubStack Overflow
The views and opinions expressed in my posts are my own and do not necessarily reflect the official policy or position of Blur Busters.

User avatar
Chief Blur Buster
Site Admin
Posts: 11856
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: HOWTO: Quick Frame Transport (QFT) - Large Vertical Totals (reduce lag, reduce crosstalk)

Post by Chief Blur Buster » 09 Aug 2021, 16:04

nyxo100 wrote:
08 Aug 2021, 18:50
doesn't work in my monitor black screen :C
Please mention your monitor and screenshot of the before/after ToastX for the mode you are trying to derive. Otherwise, your datapoint is not useful to this thread one iota, zilch!

This technique mainly works on newer FreeSync panels rather than native GSYNC panels, as we’re piggybacking off a panel’s adaptive sync awareness to create fixed-Hz QFT modes.

It usually almost always work with FreeSync compatible panels since it’s essentially the same timings as VRR with a cap (as essentially a Frankenstein fixed-Hz VRR mide, like a frame rate cap in EDID, a zero-range VRR in a roundabout way), VRR is simply a variable-size Vertical Total, and metaphorically, here, we’re locking the size of Vertical Total in a fixed-Hz mode that mimics the timings of a perfect-capped VRR signal.

You also aren’t supposed to copy ToastyX numbers from this thread AT ALL — you must use the existing default numbers that appears for your existing max-Hz mode and edit the existing default numbers that your monitor’s existing factory EDIDs autofilled ToastyX with.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

User avatar
Chief Blur Buster
Site Admin
Posts: 11856
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: HOWTO: Quick Frame Transport (QFT) - Large Vertical Totals (reduce lag, reduce crosstalk)

Post by Chief Blur Buster » 09 Aug 2021, 16:06

Arbybear wrote:
09 Aug 2021, 00:16
I don't think I entirely understand custom resolutions.

What is the difference between detailed and standard resolutions in ToastyX CRU? Why are there a limited number of slots available? Is it because these resolutions are stored on the monitor?
This is because the original EDID spec from two decades ago had limitations, so extensions (see RealNC reply) were added to add more slots in a different (confusing area) block called CEA-861 Extensions.

EDID is a legacy-addled spec with lots of chewing gum and duct tape (E-EDID, DisplayID, CEA-861, etc) to support newer, more modern displays. This just makes it a horrible mess in a user interface such as ToastyX.

The EDID purpose is for the monitor to tell the computer (GPU) what resolutions and refresh rates are supported.

ToastyX simply creates EDID overrides installed into the Microsoft Windows Registry (your Windows master settings database) to override what the monitor claims (to Windows) to support. ToastyX does not overwrite the actual EDIDs built into the monitor. ToastyX reset-all.exe can uninstall all overrides installed to the Windows Registry, back to before you began tweaking with ToastyX.
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

Arbybear
Posts: 9
Joined: 04 Oct 2020, 01:18

Re: HOWTO: Quick Frame Transport (QFT) - Large Vertical Totals (reduce lag, reduce crosstalk)

Post by Arbybear » 09 Aug 2021, 19:13

RealNC wrote:
09 Aug 2021, 01:14
You need to either have the resolution be different (like by just 1 pixel), or the refresh rate be different enough as to be detected as a different mode by the GPU driver. For example a 59.94Hz mode for non-QFT 60HZ, and 61Hz for QFT. These should then show up as different modes that you can select between.
So you can't have matching resolution and refresh rate in an EDID, but is there a way to switch out what EDID is stored in the registry (faster than editing a resolution in ToastyX)?

nyxo100
Posts: 109
Joined: 17 Mar 2021, 01:53

Re: HOWTO: Quick Frame Transport (QFT) - Large Vertical Totals (reduce lag, reduce crosstalk)

Post by nyxo100 » 09 Aug 2021, 19:14

Chief Blur Buster wrote:
09 Aug 2021, 16:04
nyxo100 wrote:
08 Aug 2021, 18:50
doesn't work in my monitor black screen :C
Please mention your monitor and screenshot of the before/after ToastX for the mode you are trying to derive. Otherwise, your datapoint is not useful to this thread one iota, zilch!

This technique mainly works on newer FreeSync panels rather than native GSYNC panels, as we’re piggybacking off a panel’s adaptive sync awareness to create fixed-Hz QFT modes.

It usually almost always work with FreeSync compatible panels since it’s essentially the same timings as VRR with a cap (as essentially a Frankenstein fixed-Hz VRR mide, like a frame rate cap in EDID, a zero-range VRR in a roundabout way), VRR is simply a variable-size Vertical Total, and metaphorically, here, we’re locking the size of Vertical Total in a fixed-Hz mode that mimics the timings of a perfect-capped VRR signal.

You also aren’t supposed to copy ToastyX numbers from this thread AT ALL — you must use the existing default numbers that appears for your existing max-Hz mode and edit the existing default numbers that your monitor’s existing factory EDIDs autofilled ToastyX with.
nevermind i fixed

User avatar
Chief Blur Buster
Site Admin
Posts: 11856
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: HOWTO: Quick Frame Transport (QFT) - Large Vertical Totals (reduce lag, reduce crosstalk)

Post by Chief Blur Buster » 09 Aug 2021, 21:11

nyxo100 wrote:
09 Aug 2021, 19:14
nevermind i fixed
Then you have a useful data point. What's your monitor model? And can you post your current QFT screenshot for your specific monitor?
Head of Blur Busters - BlurBusters.com | TestUFO.com | Follow @BlurBusters on Twitter

Image
Forum Rules wrote:  1. Rule #1: Be Nice. This is published forum rule #1. Even To Newbies & People You Disagree With!
  2. Please report rule violations If you see a post that violates forum rules, then report the post.
  3. ALWAYS respect indie testers here. See how indies are bootstrapping Blur Busters research!

Post Reply