Scanline sync

Discussion in 'MSI AfterBurner Application Development Forum' started by CalinTM, Sep 18, 2018.

  1. comicoff

    comicoff Guest

    Messages:
    1
    Likes Received:
    0
    GPU:
    gtx 1080
    I got 1080p monitor @120hz. I usually cap fps at 60. What scanline value do you recommend ?
     
  2. RealNC

    RealNC Ancient Guru

    Messages:
    4,944
    Likes Received:
    3,222
    GPU:
    4070 Ti Super
    There is no recommendation other than trying values between -200 and -20. You need to find the one that works for you.
     
  3. mrbig

    mrbig Guest

    Messages:
    2
    Likes Received:
    0
    GPU:
    980ti
    Hello, i play 3840x2160 (dsr) on 60hz fullhdTV.
    I've tried every value between -205 and -1 (RTSS ver. 7.2.0) and always have tearline at center of screen (GTA5). Also tried very many other differrent values...
    But in 1080p recommended value 1070 work well for me.
    What can i do?
    Are there a recommended values for 3840x2160 60hz?
     
    Last edited: Nov 27, 2018
  4. emperorsfist

    emperorsfist Ancient Guru

    Messages:
    1,972
    Likes Received:
    1,074
    GPU:
    AORUS RTX 3070 8Gb
    I'm having a similar issue when using DSR to downsample. When using GeDoSaTo, this never happens, but GeDo does downsampling a bit differently than DSR.
     

  5. mrbig

    mrbig Guest

    Messages:
    2
    Likes Received:
    0
    GPU:
    980ti
    Thanks, i didn't know about this tool. Which version do you use? Please give a link because "updater" from official site have a problem...
    I get last BETA10, but it don't work in GTA5.
    Does this tool work in GTA5 for you?
     
  6. user1

    user1 Ancient Guru

    Messages:
    2,746
    Likes Received:
    1,279
    GPU:
    Mi25/IGP
    A good program for tweaking this feature is the pendulum gsync demo, if you run it with no vsync , uncap the framerate via setting the minimum fps within the program, higher than your refreshrate and enabling the test pattern, it give a pretty clear idea of where the tearing is happening .
     
  7. emperorsfist

    emperorsfist Ancient Guru

    Messages:
    1,972
    Likes Received:
    1,074
    GPU:
    AORUS RTX 3070 8Gb
    Sadly, GeDoSaTo won't work with GTA5, because it only supports direcx up to 9 (so it's a no go for dx10/11/12). Sorry. Also, this beta is the latest version. Sadly, the tool was never "finished".
     
  8. Susahamat

    Susahamat Master Guru

    Messages:
    376
    Likes Received:
    208
    GPU:
    RTX 3060ti
    i got problem with s-sync in fifa 18 acting like half refresh rate in rendered cutscene but in gameplay works well
     
  9. mdrejhon

    mdrejhon Member Guru

    Messages:
    128
    Likes Received:
    136
    GPU:
    4 Flux Capacitors in SLI
    To calibrate RTSS scanline sync with VSYNC OFF, simply enable the hotkeys and use the arrow keys to move the tearline upwards/downwards. That's pretty easy to do while watching horizontal motion (or doing mouseturn left/right). That will allow you to get your ideal scanline offset.

    Once you get how it works, and you're experienced with it.... it's often faster to calibrate via the hotkeys than via the GUI. Offsets can sometimes be system dependent, refresh rate dependant, and game dependant (GPU, CPU, Hz and game), and you may need to recalibrate your offset -- by using hotkeys it takes only 5 seconds to fix the offset, without needing to bring up the RTSS GUI.

    Also, it's quite critical to have lots of GPU headroom with scanline sync. Because frametime spikes will make tearline visible (technical explanation of why tearlines will become visible during frametime spikes)

    To successfully get tearingless VSYNC OFF -- you want your GPU frametimes to stay permanently less than a refresh cycle time, even during heated moments so you may have to (1) Reduce refresh rate; (2) Turn off AA; (3) Reduce detail; (4) Upgrade GPU; (5) Or only use Scanline sync with older games if failing. Target your GPU to stay nearly permanently below 50% with only occasional spikes above. Scanline sync requires pretty ultra precision on your frametimes (just like Oculus/Vive VR).

    Also, scanline sync is wonderful for blur reduction modes in monitors (LightBoost, ULMB, DyAc, ELMB, etc) because scanline sync can erase amplified jitteriness caused by blur reduction.... without adding the lag of VSYNC ON, nor adding the microstuttering of non-VSYNC-ON methods.

    For people who hate tearing during , it's now possible to combine RTSS Scanline Sync with a non-"VSYNC OFF" mode. I've crossposted the follow from the other Guru3D thread:

    Recalibrate your tearline upwards. Bigger negative offsets.

    1. Use VSYNC OFF first
    2. Calibrate scanline sync (via keyboard shortcut) until you've got a vibrating tearline that NEVER goes below the bottom edge of the screen.
    3. Go back to Fast Sync
    4. You'll see it stay more consistently at 16.67ms.

    In VSYNC OFF, if the "tearline" goes below the bottom edge of the screen, that's the sudden 33ms frametimes if you were using Fast Sync -- because that's a missed VSYNC. That's why if I recommend if you combine RTSS Scanline Sync with NVIDIA Fast Sync -- you must calibrate tearline position to the point where it permanently stays above the bottom edge of the screen. If it vibrates crazily, raise the tearline higher (bigger negative scanline offset). So that tearlines never, never, never touches the blanking interval (except during rare framerate dips). You want to get tearlines as close as possible to bottom edge of screen, but never reaching the blanking interval (A.K.A. tearline occasionally going below bottom edge of screen).

    The ideal calibration will vary from game to game. If you need a universal calibration, have a generous offset (e.g. 25% earlier). That said, 25% earlier means 1/4th more frame lag (e.g. 4ms lag at 60Hz) but it can be pretty much is solid in most games. The bigger the safety margin, the less likely you get lag spikes.

    A perfect 18-20ms lag glassfloor is always better than 16.7ms with lots of 33ms spikes. So raise the tearline further above bottom edge. Remember that screenheight is lag; 1/4th screen height above bottom edge is 1/4th refresh cycle extra lag added, but that absorbs a hell of a lot of VSYNC OFF tearline vibrations (vibrations = frame timing error. microseconds become human visible -- at 100KHz scanrate, 10 microseconds means tearline moves downwards by 1 pixel. That's why tearline vibrations are so amazing to watch, it's microseconds becoming human visible!)

    You can use large positive scanline offsets but negative scanline offsets are vertical-resolution-independent (and more friendly to lag-reduction tricks via Large Vertical Totals / Quick Frame Transport (QFT) tricks).

    That's how you can get low-lag perfect refresh-rate-synchronized Fast Sync -- keeping tearline above bottom edge of screen.

    Strafe left/right in a game with vertical wall edges, to look for tearline positions. Use the RTSS hotkeys to calibrate tearline position.

    Calibration & Tuning Mantra: Always calibrate RTSS Scanline Sync using VSYNC OFF first before turning VSYNC ON / Enhanced Sync / NVIDIA Fast Sync!
    The tearline position is a wonderfully excellent visual calibration indicator.

    Combining RTSS ScanLine Sync with your preferred sync mode:
    VSYNC OFF:
    Calibrate tearline offscreen
    VSYNC ON: Calibrate tearline to stay permanently above bottom edge
    Fast Sync: Calibrate tearline to stay permanently above bottom edge
    Enhanced Sync: Calibrate tearline to stay permanently above bottom edge
    Once you finish calibrating, switch to your preferred sync mode.

    Tearline vibrates too much? (e.g. 1/4th screen height vibrations or worse)? Move the tearline onscreen and work hard to calm down your tearline first! Temporarily ignore the lag during this calibration stage, and focus on calming down the tearline first. Try increasing SyncFlush numbers by 1. Use SyncFlush 1. Also, lower refresh rates produce calmer tearlines. And lower CPU%, lower GPU% utilization will produce calmer tearlines too. Turning off certain features like AA will also produce calmer tearlines. If you are running very old games that always stay well below GPU 50%, try SyncFlush 2 as that produces very tranquil & calm tearlines. (Don't worry, the crazy increase in GPU% will be more than compensated by the complete lack of lag spikes; keep reading. That shiny glass floor lag beckons!). Remember, the calmer the tearline, the more likely it stays permanently near one location. Fiddle until you see your tearline calm down (vibrating consistently in a reasonably tight vertical space rather than all over the vertical dimension of the screen). The calmer the tearline, the more likely it stays permanently away from the bottom edge of screen. Thereby avoiding lag spikes if using another sync mode than VSYNC OFF. Tearlines that dips below bottom edge of screen exactly equals a latency spike if you were running FastSync instead of VSYNC OFF.

    Framerates often below Hz: If your game cannot sustain framerate equal refresh rate, you WILL get lag spikes (with accompanying microstutter), no matter what. So lower your refresh rate and/or upgrade your GPU and/or adjust game detail and/or reduce AA.

    Occasional framerate dips: In practice, it is okay if there's occasional framerate dips -- such as disk access -- e.g. you're able to sustain full framerate matching refresh rate 90%+ to 95%+ of the time, so just aim for the 90th or 95th percentile of permanence. For emulators or older games, it's easy to aim at the 99th+ percentile though, but for newer games, just merely getting 90th percentile can sometimes be hard. A stutter will be a visual indicator of a lag spike, so if you're getting stutters during competitive-critical gameplay, then you definitely want to calibrate for framerate permanence above that, to improve aiming during critical heated moments. You might not be able to do anything about those disk access stutters, but at least you've calibrated for your critical moments.

    Extra safety margin: For all of modes other than VSYNC OFF -- I recommend moving the tearline least 1/10th screen height above the bottommost visible tearline (where the tearline vibrates downwards to). Basically you should have a 1/10th area above bottom edge of screen that you've never seen the tearline vibrate downwards to. This gives you "padding". This adds 1/10th refresh cycle extra lag (~1.6ms at 60Hz) but will eliminate your lag spikes during Fast Sync, etc. If you're trying to synchronize at 120Hz or 144Hz, try 1/5th screen height of padding above bottom edge of screen.

    --easy stuff ends--
    This ends the easy stuff above. Now for the more advanced (engineering-esqe) stuff below:
    --hard stuff begins--

    What about SyncScanLine1 for twice framerate versus refresh rate?:

    - If unfamiliar with this, keep SyncScanLine1 setting to 0. Worry only about one tearline (SyncScanLine0 or via GUI)
    - Even if you do this, please do the easy stuff first before attempting this

    If your game is ultra-low GPU (e.g. Quake Live or CS:GO) combined with motion blur reduction, this can reduce strobe lag a further (e.g. 240fps at 120Hz, or 200fps at 100Hz). First, calibrate using VSYNC OFF. You may use two tearlines with Enhanced Sync or Fast Sync -- but not with VSYNC ON (that will frame-throttle you badly). Calibrate the middle tearline to middle of screen (slightly above middle is ideal, to keep it equidistant with the bottommost tearline, but position of middle tearline matters less than the bottommost tearline) but focus on carefully calibrating the bottommost tearline to stay permanently above bottom edge of screen. Ideally, they should be signal-equidistant from each other (half Vertical Total apart, taking into account of VBI versus visible vertical resolution). But this is less critical than keeping the bottommost tearline permanently above bottom edge of screen, in order to avoid those lag spikes during Fast Sync and Enhanced Sync.

    Advanced-User Large blanking interval trick for DIY Quick Frame Transport (QFT):
    - Do not bother with below trick doing this unless you're a CRU Wizard.
    - Do not bother with below trick unless you know your monitor supports ultralarge blanking intervals larger than the vertical resolution, such as "Vertical Total 2200" for 1080p.
    - Do not bother with below trick if you don't understand "Vertical Total" or "Front Porch" or "Back Porch" or "Horizontal Scan Rate".
    - QFT behavior is already built into VRR, so use VRR instead. It's easier to use GSYNC or FreeSync as a much easier QFT method (e.g. 60fps cap at 240Hz) since the VRR provides a very easy natural QFT mechanism. That's why lag is very low on GSYNC/FreeSync since all refresh cycles (no matter the current Hz=fps) are always delivered at max-Hz velocity.

    Very few monitors support large VBIs at their maximum non-VRR refresh rate. However, a few of them do -- e.g. delivering a 60Hz refresh cycle in 1/120sec on a monitor that doesn't support 120Hz. (This is rare, but occasionally happens). Alternatively, if you're using large blanking intervals to reduce strobe crosstalk (squeezing LCD GtG into VBI to reduce artifacts with a blur reduction backlight) -- then it may be more favourable to use VSYNC OFF and adjust scan line sync late into VBI. This creates a "Quick Frame Transport" effect. Normally, Microsoft and graphics drivers does frame presentation at end of refresh cycle (bottom edge of screen), rather than beginning of refresh cycle (top edge of screen). By delaying input reads-render-present late into a superlarge VBI, via RTSS scanline frame rate capping late into VBI (small negative offsets), one can reduce lag further thanks to the Quick Frame Transport effect of the use of an ultralarge blanking interval (Example: 60Hz refresh cycles transmitted over the cable in 1/120sec via the use of an ultralarge VBI the same size of the visible image). Quick Frame Transport (QFT) is part of the HDMI 2.1 specification but is possible to DIY on any cable with Custom Resolution + Large VBI + RTSS scanline sync. Displays that are intentionally designed to support QFT works best with this trick, but I've run into some displays that have undocumented QFT capability on one of its inputs, e.g. certain 60Hz HDTVs that supports 120Hz input but the panel can't support 120Hz. (Basically frameskips, as in only displays 60 frames out of 120 per second); those displays can often be tricked into a QFT 60Hz signal (via ultralarge VBI -- maintaining same exact 135KHz horizontal scanrate but halving the vertical refresh rate from 120Hz to 60Hz) -- that speeds up delivery of 60Hz refresh cycles to 1/120sec -- reducing frame delivery latency by 8ms. If you shift your inputread-render-deliver pipeline to align with the frame transmission (presenting framebuffer very late in VBI, right on time for visible frame transmission), that reduces the input lag of VSYNC ON / Fast Sync / Enhanced Sync by 8ms without raising refresh rate on displays that supports a 2x QFT acceleration factor (documented or undocumented). First, play with custom resolutions until you've got the biggest supernova-sized galactic-sized blanking interval your monitor will sync to -- a blanking interval big enough to drive a battlecruiser through. Next, start your game, make sure it's correctly using that hacked custom frankenstein signal timings & resolution you created, THEN finally calibrate RTSS until your tearline shows up near top edge of screen, THEN calibrate it until it barely disappears above top edge. Now you've created a fixed-Hz QFT sync mode!

    (RTSS scanline sync miniguide written by me).
     
    Last edited: Dec 8, 2018
  10. -Tj-

    -Tj- Ancient Guru

    Messages:
    18,097
    Likes Received:
    2,603
    GPU:
    3080TI iChill Black
    @RealNC
    What about if I use DSR from 1080p to 2880×1620 (2.25×) @ 144hz display

    By some games I use 120fps limt by 1-2 72fps

    Otherwise mostly 144fps or uncapped.. what do I use in that clase, same -10 or to -30?

    Lately I just use fast sync in nvcpl seems to be smooth enough compared to early days. E.g. quake champions I use 120fps cap same DSR 2.25× and fastsync. But would really like to try this rtss sync
     

  11. RealNC

    RealNC Ancient Guru

    Messages:
    4,944
    Likes Received:
    3,222
    GPU:
    4070 Ti Super
    @-Tj-

    It seems DSR prevents scanline sync from working correctly. Haven't tested myself yet, but I'm seeing others report that it doesn't work.
     
    -Tj- likes this.
  12. Lemmy20XX

    Lemmy20XX Guest

    Messages:
    2
    Likes Received:
    0
    GPU:
    GTX 1060 6GB
    I'm trying to set this up in Rocket League with VSync off on my 60 Hz monitor. So say my monitor has 1125 scanlines and the game shows no tearline for all values between 1065 and 1124. Would it be better (as in lower input lag) to put the scanline just beneath the lowest visible tearline (which in this case is 1065), or should I put it as far down as possible? Does it even matter?

    From what I understand so far, the frame below the tearline is always "newer" than the one above, and thus has the lowest input lag. Would using a negative offset instead reduce the input lag by somehow moving the tearline "above", or are negative offsets just another way of circling around from top to bottom?

    Hope these questions made sense. Thanks to everyone taking their time to write such detailed explanations, and thanks to Unwinder for implementing this amazing feature!
     
  13. RealNC

    RealNC Ancient Guru

    Messages:
    4,944
    Likes Received:
    3,222
    GPU:
    4070 Ti Super
    It doesn't matter because the latency difference is negligible. At 60Hz, each frame needs 16.7ms to be scanned out by the display (1000 / 60.) If you have 1125 scanlines total, then each scanline translates to 0.015ms (1000 / 60 / 1125.) So if you move the tearline by 50 scanlines, this translates to 0.7ms (0.015 * 50.) So it doesn't matter.

    There is no "above". A negative value is simply an easy way to refer to the bottom scanline. If you have 1125 scanlines, using "-1" means 1124 (1125 - 1).
     
    Lemmy20XX likes this.
  14. Lemmy20XX

    Lemmy20XX Guest

    Messages:
    2
    Likes Received:
    0
    GPU:
    GTX 1060 6GB
    I see. Thanks for clarifying!
     
  15. Yaroslav

    Yaroslav Guest

    Messages:
    1
    Likes Received:
    0
    GPU:
    2xR9 390x+2xR9 390
    last version of gedosato still can be downloaded from the github and it's beta21 which came out 2 years after beta 10, you can download it from this link - https://github.com/PeterTh/gedosato/archive/master.zip , go to the pack folder for an actual program, every other folder you can simply delete , registered here just to say that, also gedosato works with DX10 games , and gedosato is still being in your monitor resolution inside the game, while DSR/VSR changing it to whatever resolution you setup in that game, example 4k gedosato = 1080p , 4k DSR = 4k , 4k VSR = 4k , no doubt VSR looks much better than GeDoSaTo simply due to that reason, but in comparison to DSR - i have no idea, i was in my neighbor home and setup DSR for him, it was fine inside some games, desktop was awful unlike VSR(blame the dsr's filter), but some other games with DSR applied some huge contrast and sharpness for whatever reason which in most of cases ruined image, aka white sword becomes brown with pixels on it due to contrast&sharpness
    to everyone else - my post is not offtopic, it contains the part that GeDoSaTo is actually still uses your monitor resolution inside the game, just with better textures, while vsr and dsr change resolution inside the game, < so that is helpful info for these scanline guys

    P.S. , if you added GTA5 into GeDoSaTo's whitelist and it's not showing up inside the game then that certain game is not supported, however gta 5 still have it's own raised textures resolution, which is much worse than VSR from my comparison,, basically always remember to add every single game which you want to test out into that whitelist, because many do in fact work :)
     

  16. DaRkL3AD3R

    DaRkL3AD3R Active Member

    Messages:
    78
    Likes Received:
    13
    GPU:
    RTX 4090 FE
    Need someone with Metal Gear Solid V to try it out with Scanline Sync and report back what happens. I'm seeing some very undesirable affects on performance specifically with this game when using this feature. For the record, it's a very easy to render title that my rig can handle flawlessly.
     
  17. tyguy

    tyguy Guest

    Messages:
    24
    Likes Received:
    0
    GPU:
    Geforce 1070
    @RealNC mdrejhon

    What gives you less input lag... Scanline sync plus vsync or capping the refresh rate ever so slightly below the monitor/tvs refresh rate with RTSS? Before scanline sync came around I was lead to believe that capping .007 below your refresh rate was the gold standard for least amount of input lag with a smooth image other than adaptive sync of course.
     
  18. XenonS

    XenonS Guest

    Messages:
    81
    Likes Received:
    0
    GPU:
    GTX 1660 6GB
    If I replace the above sentence "If you want 70FPS, then don't use scanline sync. Use the normal FPS cap mode", if I replace the 70FPS with 30FPS when I have a 60Hz monitor playing at 1920x1080 @60Hz, in consequence, do I need to set a general framerate cap to 30 and then change the Scanline settings like you explain in the quote?

    Also if my guess is the correct procedure, then I won't see a 'tearline at the top' like you say, but I see a brighter column on the very left of my display when I start game.

    Thanks!
    XS
     
    Last edited: Apr 28, 2020
  19. RealNC

    RealNC Ancient Guru

    Messages:
    4,944
    Likes Received:
    3,222
    GPU:
    4070 Ti Super
    If you want a half refresh rate cap, you can use scanline sync x/2 mode. (Click the scanline sync button to switch modes.)
     
  20. XenonS

    XenonS Guest

    Messages:
    81
    Likes Received:
    0
    GPU:
    GTX 1660 6GB
    Thank you for responding, appreciated. The strange thing is: Currently I haven't touched the scanline sync which is at 0, I set the general cap to 30, and in-game Vsynch=ON. And it stays at constant 30 during game (which is fine for me because this game from 2005 was written for 30 FpS). But by reading your above posts I would expect to see an average of 60 fps which is the Hz of my monitor if Vsynch ON is directly tied to refresh rate...Anyway, has this setup the same effect and performance for the game compared to your suggestion here?

    About your suggestion: Should I leave the FPS cap box unchanged at 0 (above the scanline sync box), disable VSynch in the game and then chose scanline sync x/2 like you say?

    Details:
    I'm using MSIAfterburner v.4.6.2 which has the RivaTuner as a service running, my GPU is Nvidia GTX 1660 6GB VRAM on a gaming laptop (maybe not supported by RT?), my GPU load during game is max. 40% only but I need to reduce FPS to avoid the game going crazy to 500-1500+ fps during menus etc.

    Sorry for my noob questions, but I'm quite not familiar with this 'scanline sync' function, yet I've tried my best to understand its description in the tooltips, but after experimenting with it I found it better to post here :)
    Thanks very much,
    XS
     
    Last edited: Apr 28, 2020

Share This Page