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,188
    Likes Received:
    6,815
    You quoted the statement that apply to limitations of DXGI budget monitoring API. It doesn't allow you to peek outside the scope of process you're running inside. D3DKMT (used by ProcessExplorer, new GPU monitoring capale task manager, GPU-Z, HwInfo, MSI AB etc) does that and allows each process to peek inside other process GPU usage (per-node) / VRAM usage statistics etc.

    D3DKMT VRAM usage related fields (introduced in Vista times) were 32-bit. Probably the developer who created them thought that 4GB (limit of 32-bit value) of VRAM will be enough for a long time :) They changed to 64-bit representation with W8 only.
     
  2. Dan Longman

    Dan Longman Master Guru

    Messages:
    225
    Likes Received:
    157
    GPU:
    4080 FE
    loving the additions with the new version seeing the dedicated VRAM is awesome!

    Also really like the fact of being able to show power as watts instead of percentage now. One thing though I would love to show it as a whole number is there an easy way to have it drop the decimal points, maybe via a correction formula? I tried a few things but wasn't able to get the wattage to just show the whole number part. Not a big deal just would be nice to show just as an integer for myself
     
    Vulkan likes this.
  3. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,035
    Likes Received:
    7,378
    GPU:
    GTX 1080ti
    Yep, and then someone even sillier enforced a 4GB restriction in D3D9 on W8 and it only got resolved in W10 XD

    There were misdirected complaints nvidia's way for months when it was Microsofts doing all along.
     
  4. Andy_K

    Andy_K Master Guru

    Messages:
    844
    Likes Received:
    242
    GPU:
    RTX 3060
    In the RTSS Overlay Editor, Data Sources you can not only put in some correction formula, but also a format style.

    OverlayEditor-DataSource-Format.png

    In this example I made the MHz to GHz correction and wanted to have 1 decimal digit so the Format is "%0.1f"
    If you don't want to have decimal digits, you can input format like "%0.0f"
     
    Unwinder likes this.

  5. Dan Longman

    Dan Longman Master Guru

    Messages:
    225
    Likes Received:
    157
    GPU:
    4080 FE
    Awesome thanks Andy! That's exactly what I was looking for!
     
  6. Dark.talon

    Dark.talon Member

    Messages:
    10
    Likes Received:
    4
    GPU:
    2080 Ti
    Hello Unwinder, I am the author of the ResetEra article, and I want to thank you very very much for adding these new performance counters! I'm going to post about this in the thread and update people on ResetEra on how to enable and use it. Thank you for taking the time to implement this, as well as your explanation.

    If you don't mind, can you answer a question for me before I post anything new, so I can ensure that I am passing along correct information? As you can see from the FS2020 screenshot, I have Developer Overlay stating 3775 MB, and Dedicated Mem \ Process is agreeing, with 3790 MB. But Dedicated Mem says 5872, a number 2082 MB off. I have everything in the background closed before I launched FS2020, and Dedicated Memory was ~400 MB before, and was 405 MB after, as can be confirmed by the screenshot of MSI Afterburner. So if my system is only using 405MB of VRAM before and after I open FS2020, why is the number suddenly so far off when I am running FS2020?

    It was my understanding that this was because that game/process, was actually allocating that memory, setting it aside so no other process could touch it. When I refer to allocation vs usage, in my article, I really mean allocation vs commit.

    I agree with you that having total system VRAM in use is an important number, and my belief is that this means 3790 (Dedicated Mem \ Process of FS2020) + 405 (Dedicated Mem from Rest of the System). This would be 4195MB, and not the reported 5872 MB, making people believe that 1677MB more of their VRAM is in "use" than it really is. This makes the Dedicated Memory # less useful.

    I really can not tell you enough, how thankful I am for your years of development of this program. I have used it for over 10 years myself, and followed development all along the way. I hope that no disrespect was taken from my article, as I truly have the utmost respect for the work that you have done, and I am so so pleased that you have enabled a way to display \ process metrics. I strongly believe that most users are vastly overestimating how much VRAM they truly need, and this is a much needed step towards enlightenment.

    [​IMG] [​IMG]
     
    gran172 likes this.
  7. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,035
    Likes Received:
    7,378
    GPU:
    GTX 1080ti
    Open process explorer in admin mode to see where the rest is.

    Steam uses vram
    dwm uses vram
    explorer uses vram
    various windows apps use vram

    There are processes you won't even see using vram as they require system or trusted installer level permissiosn to do so.
     
  8. Dark.talon

    Dark.talon Member

    Messages:
    10
    Likes Received:
    4
    GPU:
    2080 Ti
    But why would the system suddenly go from using 405MB to 2082 MB? I measured before and after starting the game. The system didn't magically allocate nearly 1.5 GB more VRAM to explorer and dwm.

    Edit: I've posted proof below, barking up the wrong tree. The games themselves are the only things allocating the extra memory. Which is why I have had to preach that it is not a great metric. Obviously the system and other apps uses SOME memory, but not the massive gap that we are seeing. And this is just with 6GB GPU, with more VRAM available this gap would be larger.
     
    Last edited: Sep 20, 2020
  9. Dark.talon

    Dark.talon Member

    Messages:
    10
    Likes Received:
    4
    GPU:
    2080 Ti

    Before running game.
    [​IMG]



    Ingame screenshot
    [​IMG]


    Immediately after taking ingame screenshot
    [​IMG]
     
  10. toyo

    toyo Master Guru

    Messages:
    454
    Likes Received:
    253
    GPU:
    Gigabyte 1070Ti 8G
    yuck and ewww
     

  11. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,035
    Likes Received:
    7,378
    GPU:
    GTX 1080ti
    Again, let me restate.

    The administrator view is not high enough to report the resource usage of every process running on the machine.

    some processes can only have their resources seen by a system SSID instance of process explorer, and you're not accounting for vram fragmentation and that the reporter also has shared contents seperately, not to mention that the process's allocators do not account for the framebuffer copies (afaik) which are only seen at the driver level.
     
    Last edited: Sep 20, 2020
  12. Dark.talon

    Dark.talon Member

    Messages:
    10
    Likes Received:
    4
    GPU:
    2080 Ti
    And I can restate the same thing again.

    I measured total vram allocated BEFORE I STARTED THE GAME (Designated Memory). This accounts for EVERYTHING, including the things process explorer doesn't let you see and that you continue to refer to. This was 405MB.

    Doing nothing else but starting FS2020 and loading into an airport, the total Dedicated Memory was now 5872 MB, a 5467 MB increase. (405 + 5467=5872)
    Yet both the Developer Overlay, and RTSS clearly state that FS2020 Dedicated Memory is 3775 MB or 3790 MB.

    So 1677 MB of mystery VRAM has appeared, from only starting FS2020. (5872 - 3790 - 405 = 1677)

    Please, use your brain, and save us both the frustration, and do not tell me that unseen processes in the background that admin view is too low to see, magically ballooned to 2082 MB. (1677+405 = 2082)

    Edit: Fixed some typos
    Edit3: Fixed more typos
     
    Last edited: Sep 21, 2020
  13. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,035
    Likes Received:
    7,378
    GPU:
    GTX 1080ti
    Go back to reeesetera.
     
    toyo likes this.
  14. Dark.talon

    Dark.talon Member

    Messages:
    10
    Likes Received:
    4
    GPU:
    2080 Ti
    What an eloquent argument. Perhaps just let Unwinder make the explanations from now on.
     
    HARDRESET likes this.
  15. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,188
    Likes Received:
    6,815
    Dark.talon

    Hi. It is normal and expected to see overhead between simple cumulative size of all committed resources and between amount of physical VRAM they take when they are actually resident. Overhead is a result of paged allocation (GPU architecture specific), aligned resource addresses (GPU architecture and resource type specific) and VRAM fragmentation (application and OS behavior specific). But normally it shouldn’t be that high (i.e. 1.5GB). I’d assume that fragmentation is a key factor in your case.
    But the difference is definitively not a case of game process allocating much more than it actually uses. There is no way for application just to allocate VRAM without actually seeing it reflected in budget/usage. Everything it allocates becomes unavailable for allocation for background processes so it is always mirrored there.
     

  16. Unwinder

    Unwinder Ancient Guru Staff Member

    Messages:
    17,188
    Likes Received:
    6,815
    All

    New RTSS beta will be launched in the next few days. The reason is simple: MSI code signing certificate, which was used to sign RTSS hooks DLLs, expires soon (which means that after the expiration date it cannot longer be used to sign anything, but it DOESNT mean that anything previously signed (including the previous RTSS betas and last official release) will become unsigned). So I'll need to migrate to different code signing certificate. I already own one, it is newer MSI EV code signing certificate so there will not be any delay related to re-issuing new certificate. New version will be released just to have some public version signed with new certficate to let EAC and BattlEye to adopt their anticheat whitelists. I was busy with MSI AB core update during the last month, so there are no serious changes and major new features inside RTSS besides new code signing certificate. Just minor changes and improvements related to DesktopOverlayHost documented in this post and changes related to alternate 1%/0.1% lows visualisation documented here.
     
  17. HARDRESET

    HARDRESET Master Guru

    Messages:
    891
    Likes Received:
    417
    GPU:
    4090 ZOTAEA /1080Ti
    Sorry , not everyone here is close minded or a tool !
     
  18. Astyanax

    Astyanax Ancient Guru

    Messages:
    17,035
    Likes Received:
    7,378
    GPU:
    GTX 1080ti
    Its funny because I said almost the same as Unwinder anyway

    :D

    This is why Reseterans shouldn't leave the enclosure, the real world won't put up with em.
     
    toyo likes this.
  19. Dark.talon

    Dark.talon Member

    Messages:
    10
    Likes Received:
    4
    GPU:
    2080 Ti
    Thank you very much for your time and explanation.

    Can fragmentation happen instantly or just over time?
    In my fs2020 tests, I pretty much did it immediately upon the game loading, without even moving anywhere. Just loading an airport, and taking the numbers. Even in the example you posted from your own screenshots, there is an oddly large gap between budget and dedicated memory for the whole system (I do understand you may have had many things open in the background though.)

    I’m certain that I’ve seen examples of games that allocated large quantities, (like call of duty on a 16GB card) but would this actually be reflected in budget? I would expect there to be a gap of 6-10GB potentially.

    I would love to test for more of these situations for myself but I’m stuck on a 980 ti in the meantime.

    Either way I am very happy that we now have a simple way to measure both per process and total system vram usage, and I hope that this catches on in mainstream and YouTube reviews.

    I have had an account on guru3d since 2008.

    You are only making yourself look bad here.
     
    Last edited: Sep 21, 2020
    Tomatone and HARDRESET like this.
  20. Andy_K

    Andy_K Master Guru

    Messages:
    844
    Likes Received:
    242
    GPU:
    RTX 3060
    VRAM fragmentation. Happens when an application requests an amount of VRAM and the next application requests VRAM will get a chunk which is not right behind it, but has some empty not requested VRAM in between.
    This empty VRAM is not counted unless requested.
    If this chunk is smaller than the next request by e.g. FS2020 then this chunk is requested but cannot be assigned because it is too small. As it is requested now it counts even though is can't be used by FS2020.
     

Share This Page