Help Request: Frametime displays wrong value when capped with RTSS, but not the Driver limiter

Discussion in 'Rivatuner Statistics Server (RTSS) Forum' started by BlindBison, Jul 8, 2022.

  1. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,420
    Likes Received:
    1,146
    GPU:
    RTX 3070
    upload_2022-7-7_23-1-54.png
    I have a custom overlay configured via HWiNFO64 and RTSS.
    upload_2022-7-7_23-3-12.png
    In my top image I am importing the Framerate and Frametime data from RTSS.

    If I use the Nvidia Control Panel FPS limiter set to 60 (this occurs regardless of game for context), then the overlay/frametime value imported from RTSS correctly displayed 16.7 ms unless there is a genuine drop in framerate.

    Meanwhile if I cap the framerate to 60 with RTSS instead of the driver limiter, the frametime imported from RTSS displays incorrect values. Though the framerate never actually drops below 60, the frametime displayed seems to be completely wrong.

    I have tested this in several games and it seems very unusual/I don't get why this is happening. If I cap to 60 with Driver, it correctly shows 16.7 ms, if I then switch that cap to RTSS at 60 instead, the frametime displayed is all wrong and only occasionally seems to show 16.7 ms. I recall asking about this over on HWiNFO forums sometime ago, but my recollection is that they said these values are just imported from whatever RTSS reads so I'm just sorta confused why this could be happening. Thanks!
     
  2. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,219
    Likes Received:
    6,907
    Use RTSS to display frametime natively. The values you display are not rendered by it,
     
    BlindBison likes this.
  3. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,420
    Likes Received:
    1,146
    GPU:
    RTX 3070
    OK I'll try and rework the overlay to just use RTSS for the FPS/Frametime values, but I am very curious why this difference would be present. Strangely in-game limiters or the driver one display the correct frametimes, but when reaching an RTSS limit then importing those values over to the HWiNFO overlay, the frametimes are very wonky and only rarely display the correct value (16.7 ms in this case).

    Not sure why it's happening like that, but in my own tests the RTSS limiter works a bit better (certainly in some games) than the Nvidia driver level limiter so I plan to keep using it (great work by the way RTSS is a must-have tool for any PC gamer imo).

    Anyhow, I'll go ahead and rework the overlay to use RTSS natively. Thanks a lot,
     
  4. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,219
    Likes Received:
    6,907
    Ask why in HwInfo forum. Once again, it is not RTSS that is displaying frametimes incorrectly. I’d STRONGLY NOT recommend to use HwInfo to import framerates and frametimes instead of allowing RTSS to display them natively. There are MULTIPLE INDEPENDENT frametime and framerate sources for cases when multiple 3D applications are running. RTSS is able to display each application’s OWN framerate and frametimes independently. HwInfo provides SINGLE value for such cases and selecting just one application readback.
     
    BlindBison likes this.

  5. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,420
    Likes Received:
    1,146
    GPU:
    RTX 3070
    I'll ask there again, thanks for the feedback, I appreciate it.
     
  6. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,219
    Likes Received:
    6,907
    Your post here and interpretation of my reply in HwInfo forum is a total mess. No, it is NOT a case of using or not using RTSS limiter. It is a case of you switching to different application and seeing frametame taken from wrong source.
     
    BlindBison and Dan Longman like this.
  7. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,420
    Likes Received:
    1,146
    GPU:
    RTX 3070
    Apologies, I must be confused then -- in my own tests across two different machines, this behavior only occurs when using the RTSS limiter and reaching it. It does not occur with any in-engine limiter nor any of Nvidia's driver limiters when using the exact same setup -- when using those, the frametimes are displayed correctly as expected.

    Thus, it seems that there is some difference specifically when the RTSS limiter is being used. Perhaps I am misunderstanding your meaning when you say:
    > "It is a case of you switching to different application and seeing frametame taken from wrong source."
    If this were so, then why does the issue NOT occur when i'm either not capping the framerate at all or when I use different limiters? There must be some cause or difference specifically associated with using this setup (importing RTSS data into HWiNFO + reaching an RTSS framerate limit).

    If I'm wrong, I apologize, this is what I'm seeing on my two PCs however. I think I might be misunderstanding you by the sounds of it. Sorry for the trouble, just trying to determine why the one case differs from the others. Of course I am able to work around this by simply using the driver level limiter or in-game ones, but I find RTSS's limiter often is perceptually a bit smoother to my eye in certain titles which is why I consistently use it. Thanks,

    I did not mean to misrepresent what you were saying, apologies. That's the main reason I made sure to link the original so that people could view your replies directly.
     
  8. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,420
    Likes Received:
    1,146
    GPU:
    RTX 3070
    upload_2022-7-8_16-36-48.png
    Now I'm really confused lol :p In any case thanks for your time, I'm sorry for the trouble. I know you have to correct people saying the wrong stuff about your application a lot so I didn't mean to contribute to that, just trying to determine what's going on. Thanks,
     
  9. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,219
    Likes Received:
    6,907
    And one more time: learn to use OverlayEditor and use RTSS to display correct frametimes instead of trying to reimport them from HwInfo and guessing why it displays wrong values. You cannot use HwInfo to display frametimes reliably when there are more than one 3D applications running. Physically cannot. We’re wasting the time, that’s everything I can say. Too many questions in different areas from you recently, sorry.
     
    BlindBison likes this.
  10. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,420
    Likes Received:
    1,146
    GPU:
    RTX 3070
    Thanks, that's helpful -- I'll look into some guides for setting that up. To clarify, I *never* run more than 1 3D Application / Game at a given time, it seems to me that would probably be pretty darn taxing on your system and slow down the game you're actually playing.

    I appreciate any insights you can provide, but I do hope you don't feel pressured to reply to these threads. My aim is that maybe anybody who uses the tool and has observed this type of behavior could reply if they happen to know something. If it's you or another user or if it's nobody (assuming nobody knows or has seen what I have), that's fine too. I expect you're pretty busy. I do want to go to the effort of actually making the thread though as otherwise I'd never get any insight whatsoever on these kind of things. For example, I find sites like Reddit are far far worse for getting any useful information about these kinds of issues/behaviors so the best place to post questions is here.

    Thanks for your time in any case, I can look into different overlay solutions inline with your recommendation (or perhaps just stop using the frametime display as FPS appears to work fine).
     

  11. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,219
    Likes Received:
    6,907
    > To clarify, I *never* run more than 1 3D Application / Game at a given time

    Ugh… To clarify, a LOT of applications running in background are 3D applications, even if you don’t realize it. RTSS is reporting independent framerates and frametimes for each of such applications. Hell, even RTSS itself uses 3D rendering for overlay editor GUI, so it is also exporting its own GUI 3D renderer framerate and frametime stats to shared memory, where HwInfo can wrongly pick it up and try to display it as GAME FRAMETIME (which is NOT the case). You can NEVER be sure that you see correct application’s frametime if you don’t display it natively from RTSS (which renders host application’s own stats) and try to import it from HwInfo (which is rendering stats for just one randomly selected application in context of overlays of other applications).. Can we just stop on it? It is not an issue I need to waste time on, and you have full set of info required to understand it.

    And PLEASE, learn how to use app first. Your “custom far nicer overlay” is created in OverlayEditor ia few seconds with much, much, MUCH more ways to customize it, so you clearly need to learn how to use it before making such claims.

    “but the RTSS author (Unwinder) just said that it's better to display this information natively (the reason I'd rather not do that is the HWiNFO64 custom overlay looks far nicer once configured imo)”
     
    Last edited: Jul 8, 2022
    BlindBison likes this.
  12. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,420
    Likes Received:
    1,146
    GPU:
    RTX 3070
    That's helpful to know, when you said "3D application" I assumed you meant more than one game running.

    I will look into the custom overlay recommendation you provide and I appreciate the recommendation, I was not intending to misrepresent anything you'd said in my HWiNFO thread, I only made it to begin with since I thought you had meant initially that it was not an issue with RTSS, but rather HWiNFO64.

    > "custom far nicer overlay"
    Well, it is a lot more minimalist/nicer looking to me than anything I was ever able to achieve with MSI Afterburner or with only RTSS as a standalone. I'd argue overlay aesthetic is a grey area of subjectivity, but yes I expect similar-ish looking setups can be achieved with other tools.

    It seems that I have agitated you and I apologize for that, but I'm not sure what better recourse there is than making a thread here in search of more information/understanding why what I'm seeing occurred. Thank you for your time and the valuable tool you've authored, I use it virtually every day.
     
    Last edited: Jul 9, 2022
  13. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,219
    Likes Received:
    6,907
    No worries. Just follow initially given advice and use RTSS to render frametimes on its own to ensure that correct and expected values are displayed there.
     
    BlindBison likes this.
  14. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,219
    Likes Received:
    6,907
    I had some free time to peek inside HwInfo to see why else can it fail to display proper frame time, while RTSS and MSI Afterburner have no problem with that. HwInfo is trying to read current frame timing from RTSS, perform it asynchronously and frequently do it while frame is still being presented. So it reads incomplete timing, while it is still being updated. It is not the way it was supposed to be implemented by RTSS clients. MSI Afterburner does that differently and instead of trying to read current time (which can be incomplete if you do it during presentation) it reads RTSS frametime from special sampler, which is accumulating min/avg/max frametime statistics between MSI AB frametime polling iterations (so it never misses the stutter because it always shows worst frametime during polling period). If you still intend to show instantaneous frametime like HwInfo is trying to display, you may also read the previous complete frametime from different location, RTSS provides ring buffer containing frametimes for 1024 previously rendered frames. So switching HwInfo frametime readback implementation to any of those two alternate ways will fix that.
    Also, in recently released beta 4 I protected current frame timing, which HwInfo was trying to read, and made it buffered, so other applications can not asynchronously access current frme timing from it until the frame is completely presented.
     
    Astyanax, blurp33 and BlindBison like this.
  15. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,420
    Likes Received:
    1,146
    GPU:
    RTX 3070
    Thank you very much for this insight, I really appreciate it. For what it's worth I took your advice and have decided to switch my overlay to the MSI Afterburner one. I did really like "visually"/layout-wise what I was able to do with HWiNFO64, but if the readings that it imports from RTSS are so inaccurate, I can't really use it for what I hoped to.

    I know it took effort/time for you to check that out, thank you very much for your efforts. You've really helped me out! Sorry to have troubled you over this. Thanks for RTSS, it's on all my PCs (it's impressive how your external limiter manages to be more accurate/superior on the whole to many in-engine limiters in my experience -- some games like Hunt seem to prefer RTSS over Nvidia's driver level limiter seems to me and games like Far Cry 6 do much better being limited via RTSS in terms of perceived "smoothness" vs its own internal limiter for example).

    Would you mind if I took a screenshot/quoted your words here and passed that along to the HWiNFO64 dev? It may be something helped for Martin to know, but of course I don't want to misrepresent your phrasing or anything so it'd just be a direct quote or screenshot with a link to this thread. Thanks,
     
    Unwinder likes this.

  16. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,219
    Likes Received:
    6,907
    It's easier to ping Martin here
    @Mumak
     
    BlindBison likes this.
  17. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,420
    Likes Received:
    1,146
    GPU:
    RTX 3070
    You were right (no surprise there :p)

    I was able to achieve virtually the same overlay (even with custom colors) via the RTSS plugin for custom overlays. With MSI Afterburner to import the CPU frequency and temps (everything else I wanted was already there with the stock RTSS app) it all worked out and now frametimes represent themselves as expected.

    Thanks a lot! I use your apps all the time, much appreciated. Sorry to have taken up your time, I found some previous threads where you'd already hashed out much of this so that's my bad, apologies.
    upload_2022-7-26_14-25-21.png
     
    chinobino likes this.
  18. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,219
    Likes Received:
    6,907
    No worries. You don’t need MSI Afterburner either to get CPU frequencies and temps, last couple betas of RTSS 7.3.4 support those sensors natively.
     
    BlindBison likes this.
  19. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,420
    Likes Received:
    1,146
    GPU:
    RTX 3070
    Nice, thanks a lot! Will move over to the beta then, much appreciated
     
  20. BlindBison

    BlindBison Ancient Guru

    Messages:
    2,420
    Likes Received:
    1,146
    GPU:
    RTX 3070
    I did have one question if you get a spare moment, apologies I've probably just overlooked something obvious, but I noticed "memory usage" from MSI Afterburner reads out slightly different values to RTSS's GPU memory usage:
    upload_2022-7-27_14-54-24.png
    upload_2022-7-27_14-54-55.png
    I had thought both were meant to represent VRAM usage, but I imagine I've just misunderstood at the MSI value is meant for something slightly different or some such. Thanks!
     

Share This Page