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>