Does anyone know if there is a way to calculate a displays exact refresh rate for use with hybrid scanline sync by only using the displays timings taken from CRU? If so how would I calculate it?
RTSS Scanline Sync HOWTO
-
- Posts: 2
- Joined: 16 Feb 2025, 19:46
Re: RTSS Scanline Sync HOWTO
-
- Posts: 2
- Joined: 16 Feb 2025, 19:46
Re: RTSS Scanline Sync HOWTO
for anyone trying to figure out what you real refresh rate for hybrid scanline sync is you can calculate it your display timings from CRU you take your total horizontal (i.e. 4400 ) and total vertical (i.e. 2250) and then multiply them 4400 vs 2250 = total pixels of 9900000 and then take you pixel clock (i.e. 593.41mhz) and dived by your total pixels 593,410,000hz / 9900000 = 59.94040404 which is your actual refresh rate
Re: RTSS Scanline Sync HOWTO
AFAICT that's the exact formula that CRU already uses to display the "actual" refresh rate number in its gui, which (while close, of course) won't be the exact number to enter into RTSS to prevent the scanline from slowly crawling down in hybrid mode.spacetime66 wrote: ↑16 Feb 2025, 22:01for anyone trying to figure out what you real refresh rate for hybrid scanline sync is you can calculate it your display timings from CRU you take your total horizontal (i.e. 4400 ) and total vertical (i.e. 2250) and then multiply them 4400 vs 2250 = total pixels of 9900000 and then take you pixel clock (i.e. 593.41mhz) and dived by your total pixels 593,410,000hz / 9900000 = 59.94040404 which is your actual refresh rate
For example (using a custom resolution of _exactly_ 52.000 as shown in RTSS's "actual" AND in windows settings AND according to the above formula), I need to enter 52.00074 into RTSS to prevent the scanline from scrolling down into the visible area before it syncs back up again (front edge sync, SyncFlush=1). It still scrolls down, just super slowly -- and that's ok. Using just -1 for the scanline sync value works fine with it. No real need to do a manual binary search to find the perfect value. testufo refresh test settled on 52.00158, which seemed high to me.
In Guild Wars 2, I ended up needing to use hybrid mode to prevent multiple threads from dogpiling onto one core. A weird game thread scheduling quirk that happens on my system, so ymmv with that. Otherwise I could use regular scanline sync with syncflush=0 and backedge sync.
Fun note: when using x/2 mode, you must only enter up to 5 digits of decimal precision -- it won't use scanline sync at all if you enter 6+. 5 decimal precision is good enough, but it's weird that it breaks entirely at 6+ imo.