Hacked ASUS VG279QM modified to single-strobe 60 fps capped VRR for emulators

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: 11647
Joined: 05 Dec 2013, 15:44
Location: Toronto / Hamilton, Ontario, Canada
Contact:

Re: Hacked ASUS VG279QM modified to single-strobe 60 fps capped VRR for emulators

Post by Chief Blur Buster » 02 Aug 2021, 15:51

elexor wrote:
02 Aug 2021, 05:09
eyeballing it it seems like 200ms is the limit to how fast it can switch.
You mean the backlight? Yes, MPRT 0.1ms-0.2ms is approximately the limit of most strobe backlight microcontrollers at the moment as well as the fast-phosphor-decay of most non-KSF white backlight LEDs.
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!

elexor
Posts: 169
Joined: 07 Jan 2020, 04:53

Re: Hacked ASUS VG279QM modified to single-strobe 60 fps capped VRR for emulators

Post by elexor » 02 Aug 2021, 20:10

Chief Blur Buster wrote:
02 Aug 2021, 15:51
elexor wrote:
02 Aug 2021, 05:09
eyeballing it it seems like 200ms is the limit to how fast it can switch.
You mean the backlight? Yes, MPRT 0.1ms-0.2ms is approximately the limit of most strobe backlight microcontrollers at the moment as well as the fast-phosphor-decay of most non-KSF white backlight LEDs.
Talking about how fast ddc commands from my teensy can switch the monitors overdrive modes. not that fast but way better then being stuck at a fixed od. takes the pain out of manually adjusting it all the time.

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

Re: Hacked ASUS VG279QM modified to single-strobe 60 fps capped VRR for emulators

Post by Chief Blur Buster » 04 Aug 2021, 22:42

elexor wrote:
02 Aug 2021, 20:10
Talking about how fast ddc commands from my teensy can switch the monitors overdrive modes. not that fast but way better then being stuck at a fixed od. takes the pain out of manually adjusting it all the time.
Are you real-time dynamically adjusting overdrive during variable frame times? I'm impressed DDC is fast enough to make it look good.

Fantastique & magnifique! I love the Blur Busters hackers in our forums.

Dynamic overdrive for VRR:

1. You should test tune in 10fps increments (best OD Gain). Run a VRR-compatible animation such as Frog Pursuit or some other VRR-compatible app capable of steady frame rate. Test a framerate and adjust OD Gain for it.
Tune in 10fps increments, from 50, 60, 70, 80, 90, 100, 110, 120, until the max Hz. Add these to your Excel spreadsheet.
2. Plot on a graph in Excel (X axis as constant frame rate aka frametime, Y axis as OD gain number for best VRR apperance)
3. Create a math formula that "fits the curve". I recommend quadratic regression. Execute a quadratic regression formula (Y = a + bx + cx^2). Any website can do it for you automatically, such as https://keisan.casio.com/exec/system/14059932254941 or https://www.easycalculation.com/statist ... ession.php ... Just put your Excel X and Y axis numbers into those websites and they give you a freebie overdrive math formula!
4. Put the overdrive math formula into your Arduino.

The input variable is frametime (X) and the output variable is OD Gain as DDC command (Y). You simply use the websites to find out what value "a", "b" and "c" as hardcoded magic numbers. Put frametime into X, and run the math, and Y is the new Overdrive Gain for your dynamic VRR overdrive.

Voila, open source generic dynamic VRR overdrive!

This math formula is 200 years old, long escaped patents, but perfect for dynamic overdrive algorithms that manipulate an OD GAIN register in realtime during VRR. (except for superior NVIDIA G-SYNC chip which is WAY more complex than a single-formula dynamic overdrive gain formula -- but most FreeSync panels don't even have ANY dynamic overdrive which is surprisingly simple to implement. There. I just revealed that all you need is a 200-year-old formula. Eat it up, manufacturers!)

Plain old-fashioned quadratic regression is being used as part of the Blur Busters Approved programme, and this is the Blur Busters VRR strobe tuning standard now, I'm working on two strobed VRR panels now, we've switched to algebra formulas for dynamic FreeSync OD.

When quadratic regression formulas gives me perfect any-Hz strobing nowadays (59-240Hz in 0.001Hz increments) -- limited-choice strobe presets (aka NVIDIA ULMB) is obsolete. Hopefully NVIDIA upgrades to ULMB 2.0 in a Blur Busters Approved way.

DDC will have a lag, so you will see brief sudden ghosts during sudden framerate changes, but at 0.1ms-0.2ms (that's impressively fast) it should be fine for your Arduino to do real time dynamic VRR overdrive via DDC.

I don't mind publicly sharing this information because quadratic regression formulas have been done for years, and it's just simple old-fashioned algebra.

This the math 101 basics of greatly improving strobe tuning and VRR dynamic overdrive.

<shameless plug>
NOTE TO MANUFACTURERS: Do you want Chief Blur Buster (me) to tune superior dynamic overdrive for you in your adaptive sync panel? Contact me at https://services.blurbusters.com for paid services
</shameless plug>
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!

liquidshadowfox
Posts: 143
Joined: 05 Nov 2020, 14:03

Re: Hacked ASUS VG279QM modified to single-strobe 60 fps capped VRR for emulators

Post by liquidshadowfox » 05 Aug 2021, 11:40

I want to add that the Asus XG27AQM (270 hz model) also supports changing preset ODs using DDC. I listed the OD settings on a forum post I made for each refresh interval and theoretically it could also benefit from an app that uses DDC commands to change the OD dynamically based on refresh. I just wish the backlight strobing was implemented better....

elexor
Posts: 169
Joined: 07 Jan 2020, 04:53

Re: Hacked ASUS VG279QM modified to single-strobe 60 fps capped VRR for emulators

Post by elexor » 05 Aug 2021, 20:38

Chief Blur Buster wrote:
04 Aug 2021, 22:42
elexor wrote:
02 Aug 2021, 20:10
Talking about how fast ddc commands from my teensy can switch the monitors overdrive modes. not that fast but way better then being stuck at a fixed od. takes the pain out of manually adjusting it all the time.
Are you real-time dynamically adjusting overdrive during variable frame times? I'm impressed DDC is fast enough to make it look good.
Unfortunately I don't have access to odgain via ddc I can only change between the factory presets od 0,20,40,80,100. first change is impressively fast, going from 280hz to 60hz in frog pursuit I don't even see the change. but you are limited by how many commands you can send per second if you send them too fast the monitor will bog down and skip commands.

since I don't have fine od adjustment this is fine I just change it based on a slow average hz.

elexor
Posts: 169
Joined: 07 Jan 2020, 04:53

Re: Hacked ASUS VG279QM modified to single-strobe 60 fps capped VRR for emulators

Post by elexor » 19 Jan 2022, 09:26

https://youtu.be/j-4SfIkuuB8
https://youtu.be/viRui2SK_kA

StrobeOnPresent() via modified SpecialK

real-time present monitoring using SpecialK injected games sends a usb packet on framePresent()

teensy 4.0 polls at 8khz waiting for the packet. I can single strobe any fps regardless of the LFC ratio.

If the microcontroller doesn't recieve any present() info it will just automatically switch to monitor refreshrate matched strobing.

liquidshadowfox
Posts: 143
Joined: 05 Nov 2020, 14:03

Re: Hacked ASUS VG279QM modified to single-strobe 60 fps capped VRR for emulators

Post by liquidshadowfox » 27 Jan 2022, 21:12

Dude that's amazing, I wish I could do something like that for my Asus XG27AQM :( Asus was so close to perfect with elmb sync here but sadly their anti flicker algorithm is just imperfect.

elexor
Posts: 169
Joined: 07 Jan 2020, 04:53

Re: Hacked ASUS VG279QM modified to single-strobe 60 fps capped VRR for emulators

Post by elexor » 28 Jan 2022, 05:46

liquidshadowfox wrote:
27 Jan 2022, 21:12
Dude that's amazing, I wish I could do something like that for my Asus XG27AQM :( Asus was so close to perfect with elmb sync here but sadly their anti flicker algorithm is just imperfect.
You just can't single strobe uncapped VRR without at least some candlelight flicker or massive crosstalk areas. Asus probably won't ever want to put that in a consumer product, they would rather give people placebo vrr strobing :)
Last edited by elexor on 28 Jan 2022, 07:31, edited 2 times in total.

elexor
Posts: 169
Joined: 07 Jan 2020, 04:53

Re: Hacked ASUS VG279QM modified to single-strobe 60 fps capped VRR for emulators

Post by elexor » 28 Jan 2022, 05:47

I found an alternative to using 8khz RAWHID and a teensy. the humble serial port, still works great. you can toggle the RTS or CTS pin on and off. I think it's actually faster, less intensive and lower jitter then usb polling.

was able toggle it on and off with some extremely simple c++ code running on windows 11 at 110khz. no polling required.

Even my modern x570 based motherboard still has a serial port header you can use as a makeshift gpio output.

Just requires a simple circuit to level shift the serial control line voltages to 3.3v which a microcontroller can accept.


EscapeCommFunction(hComm, SETRTS); ON
EscapeCommFunction(hComm, CLRRTS); OFF

https://docs.microsoft.com/en-us/window ... mmfunction

liquidshadowfox
Posts: 143
Joined: 05 Nov 2020, 14:03

Re: Hacked ASUS VG279QM modified to single-strobe 60 fps capped VRR for emulators

Post by liquidshadowfox » 28 Jan 2022, 21:29

elexor wrote:
28 Jan 2022, 05:46
liquidshadowfox wrote:
27 Jan 2022, 21:12
Dude that's amazing, I wish I could do something like that for my Asus XG27AQM :( Asus was so close to perfect with elmb sync here but sadly their anti flicker algorithm is just imperfect.
You just can't single strobe uncapped VRR without at least some candlelight flicker or massive crosstalk areas. Asus probably won't ever want to put that in a consumer product, they would rather give people placebo vrr strobing :)
I guess not but it does look like the gigabyte implementation (although similar) does look better than asus implementation :( To me it's not about uncapped VRR strobing, it's about using a tool like RIVA to set your FPS to the most stable baseline frame target and consistently strobing that vs having to change the fixed refresh on the monitor.
For example
1. Valorant capped at 240
2. League of legends capped at 200
3. Any RGP game capped at 60 or 120

either way, I'm happy to see someone is posting their experiments online :)

Post Reply