MSI AB / RTSS development news thread

Discussion in 'MSI AfterBurner Application Development Forum' started by Unwinder, Feb 20, 2017.

  1. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,197
    Likes Received:
    6,865
    New hybrid scanline sync mode, new scanline sync calibration related performance counters and indicator are demonstrated in this short video:

     
  2. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,197
    Likes Received:
    6,865
    I'm not that optimistic on automating it. Actual tearline position is close to present return time for old games where frame complexity and GPU rendering time are low. For GPU heavy rendering cases it can jitter a lot.
     
  3. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,197
    Likes Received:
    6,865
    Forgot to mention one thing about upcoming RTSS 7.3.0 beta 7. Some time ago I've already informed you that it will have updated digital signature for hooks library. I'll bump it one more time in case you missed it. That's not a functional change, we just move to new signature after the previous one expired. Major anticheats like EAC and BattleEye already whitelist it, but some smaller anticheats may need some time to adopt their whitelists to it. So keep it in mind.
     
    HARDRESET likes this.
  4. Digika

    Digika Member Guru

    Messages:
    149
    Likes Received:
    1
    GPU:
    GTX 670
    Can I get some input on this? Rule of thumb for RTSS was generally "limit FPS 1 or more frames below refresh rate for lowest input latency". I usually eat tear in exchange for that. With hybrid mode I'm interested to eat lower latency hit instead but not sure about the limiting range now. Should I try to limit 1:1 with my refresh rate for hybrid as a baseline?
     

  5. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,197
    Likes Received:
    6,865
    It should be as close to your real hardware refresh rate as it is possible (ideally match it), othwerwise the tearline position will showly drift up/down.
     
    Digika likes this.
  6. Digika

    Digika Member Guru

    Messages:
    149
    Likes Received:
    1
    GPU:
    GTX 670
    Alright, got it, thanks. Will wait for the beta release then.
     
  7. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,197
    Likes Received:
    6,865
  8. Falkentyne

    Falkentyne Master Guru

    Messages:
    544
    Likes Received:
    79
    GPU:
    Sapphire HD 7970 Ghz Ed.
    Thank you Unwinder! I was having some issues with Scanline sync on my 3090, the new beta should help me resolve it.
     
  9. terry_bogard_sv

    terry_bogard_sv Member Guru

    Messages:
    162
    Likes Received:
    34
    GPU:
    AMD RX 6800 16GB
    ok I get most of the new sync stats, I just need to play more with the async and back/front settings, I still don't quite get the hybrid scanline sync, but this along with my uv 3600 and rx 5700 give solid stable 60 fps at 1080p and 1440p.
     
  10. emperorsfist

    emperorsfist Ancient Guru

    Messages:
    1,981
    Likes Received:
    1,076
    GPU:
    AORUS RTX 3070 8Gb

  11. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,197
    Likes Received:
    6,865
    The following 3 conditions must be met to engage new hybrid mode:

    - Framerate limiter must be enabled
    - Scanline sync must be enabled
    - One of two alternate synchronous framerate limiting modes must be selected. Front edge sync is recommended as it gives closest result to classic scanline sync

    Setting up the framerate limit is the most tricky part, ideally it must exactly match your hardware refresh rate or at least it must be as close to it as it is possible. Clock frequency generation is based on the principle of deriving target clock from fixed crystal (reference) clock with a few multipliers/dividers. So target clock is rarely an exact integer value, for example for my 60Hz 1440p display mode hardware refresh rate is 59.952Hz. That’s what I specify as a framerate limit on my system to get it working.

    New performance counters displayed in scanline sync info panel help you to see if you set up everything properly. For classic scanline sync mode you’ll see constantly changing sync start counter and sync end counter jittering close to the target scanline. That’s normal because synchronization is performed on every frame. That’s also a sign of inactive hybrid mode.
    For properly configured and active hybrid mode scanline syncronization is performed just once, so sync start and sync end counters should never update in realtime. Present counter (and tearline position) should jitter close to target scanline and may slowly drift up or down depending on delta between hardware refresh rate and specified framerate limit. If it drifts too far after a few minutes, you may return it back by toggling the framerate limiter off/on (updated sync start/end counters will reflect new synchronization event).
     
    ultrablue18 and terry_bogard_sv like this.
  12. Digika

    Digika Member Guru

    Messages:
    149
    Likes Received:
    1
    GPU:
    GTX 670
    Does that mean that initial sync configuration and tearline positioning should be done in classic scanlinesync mode and then you switch to hybrid with limiter?
    Also, what's SyncLimiter directive for?

    yeah, that's ogre. How would one even go about figuring it out without external tools?
     
    Last edited: Oct 27, 2020
  13. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,197
    Likes Received:
    6,865
    Yes, it can be calibrated this way. But there is no any strict “it should be done this way”.

    It is framerate limiters sync mode selectable via GUI. Do not edit it directly.

    ???? External tools? There are a lot of ways to find out detailed timings of your videomode including dot/pixel clock, htotal and vtotal. Knowing those values allows you to calculate refresh rate.
     
  14. terry_bogard_sv

    terry_bogard_sv Member Guru

    Messages:
    162
    Likes Received:
    34
    GPU:
    AMD RX 6800 16GB
    Excellent! thanks for the help, now.. two questions..

    I'm using 1080p 60Hz on 4K TV, I tried the blurbusters refresh rate tool to find my correct refresh but it just said 60hz, is there any other page/tool to find my correct Hz?

    Edit: tried today again and it says 59.999, I guess that's what I will set in the frame limiter.

    For my custom resolution I'm using a tota VBI of 4829, vertical front porch and sync are stock 4 and 5 lines, respectively.. back porch is the rest 3740 lines, and I'm using back edge sync in the RTSS settings, should I change the porch lines from back to front to use the front edge setting??
     
    Last edited: Oct 28, 2020
  15. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,197
    Likes Received:
    6,865
    You’ll easily see if framerate limit is specified correctly by monitoring “Present” counter in the info panel (actual scanline index where Present was called). It will move up/down fast enough if framerate limit is far below/above your actual refresh rate. If it is close to the target (and for some fractional refresh rates there will be no exact match) then it will remain relatively static and keep moving up or down really slow (1 scanline per a few seconds).

    No need to confuse display mode timing variables (back and front porch) with framerate limiting modes. Those are completely unrelated things.
     
    terry_bogard_sv likes this.

  16. terry_bogard_sv

    terry_bogard_sv Member Guru

    Messages:
    162
    Likes Received:
    34
    GPU:
    AMD RX 6800 16GB
    after applying the framelimit the scanline became unstable, I will try using the hints you gave above and see if everything stabilizes.

    EDIT:

    Ok, after applying framelimit 59999 and setting the front edge and timeout, the "present" was the same value as the end sync, but somethuing weird happened, everything was flawless but the "present" instead of going up and down slowly it only went up slow but steady, like 2 or 3 lines every 2 seconds, to the point I started seeing the sync line in the bottom of the screen and it kept going up the screen...

    Is that how is supposed to behave?? I'm using DX12 in monster hunter world with syncflush set to 0 and scanline sync set to -20.
     
    Last edited: Oct 28, 2020
  17. Digika

    Digika Member Guru

    Messages:
    149
    Likes Received:
    1
    GPU:
    GTX 670
    Is there any way to get present latency measured properly with PresentMon when using scanlinesync (vanilla or hybrid)?
    I'm getting
    000000006905AF00 (DXGI): SyncInterval=0 Flags=0 12.49 ms/frame (80.0 fps, 80.0 fps displayed, 0.21 ms latency) Hardware: Legacy Flip
    which is not correct obviously,
     
    Last edited: Oct 28, 2020
  18. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,197
    Likes Received:
    6,865
    And one more time: It will move up/down fast enough if framerate limit is far below/above your actual refresh rate.
     
  19. terry_bogard_sv

    terry_bogard_sv Member Guru

    Messages:
    162
    Likes Received:
    34
    GPU:
    AMD RX 6800 16GB
    Got it! I started playing serious sam 4 with the sync going slowly upwards and I really was comfortable playing, I tried adding enhanced sync but it stuttered and I really hate that, with hybrid sync is ultra smooth even with the line on screen, also, the line is very steady so it doesn't bother. Is so steady that you won't notice it if the screen is still.
     
  20. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,197
    Likes Received:
    6,865
    To understand it better try to enable FCAT indicator and set it to new "moving bar" mode then ty to set framerate limit explicitly above (e.g. 60.5Hz) and explicitly below (e.g. 59.5Hz) your refresh rate (60Hz). Then see what is happening with tearline position visible on moving FCAT bar indicator and what is happening with "Present" performance counter in scanline sync info panel. Tearline will always drift up with fixed speed and "Present" counter will monotonically decrease in first case (60.5Hz). For the second case (59.5Hz) tearline will drift down and "Present" counter will monotonicaly increase.
    So applying it to your case (sync going slowly upwards) you can conclude that your specified framerate limit is stll slightly higher than your actual hardware refresh rate. So try to decrease it till the point when tearline drift direction change and it will start drifting down. That will mean that you crossed the limit.
    Matching hardware refreshr rate preciesly can be impossible for some display modes and refresh rates, because RTSS allows you to specify limit with 0.001Hz precision for <100Hz refresh rates (and with 0.01Hz precision for >100Hz), but I can extend framerate limit field with a few additional decimal digits to deal with such cases in future versions.
     

Share This Page