-
Notifications
You must be signed in to change notification settings - Fork 159
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fake frametime spikes due to ETW events flushing in PresentMon 2.2.0? #354
Comments
Thank you for the report and the results of your experiments. We will prioritize reproducing this on our end and see what can potentially be done to fix the issue. |
Hi Alex, we've been looking into this issue recently, and we're hoping you can provide us with some additional information. Comparing the manual flush (new) and automatic flush (old) modes of operation, we have not been able to reproduce the frametime spikes you describe except on specific hardware / game titles (specifically Witcher 3). We were wondering what you have noticed with regards to reproducibility on different hardware configurations and titles? What hardware and titles have you seen the issue on? I notice Forza Horizon 5 in your screenshot; are there any other titles you know of that can reproduce consistently (or is it all titles)? |
Hi! So, some internal changes in 2.3.0 seem to fix it, thanks! |
Hello @AlexUnwinder thank you very much for investigating the issue. It is very much appreciated! Just for a quick clarification, did you happen to build the latest source and use that for testing? Or did you use the service packaged in with the 2.3.0 msi? |
I used original service packaged in with 2.3.0 msi. |
Thanks @AlexUnwinder for checking. Appreciate your time! |
Good job on optimizing ETW backend and implementing flushing there, it really reduced reporting lag drastically and made PresentMon's data more realtime!
However, I noticed that ETW flushing seem to cause periodic fake spikes to be detected on frametime graph on my system. The screenshot displays PresentMon 2.2.0 native overlay with raw frametime and RTSS overlay.
Pink (top right) graph is RTSS frame-start-to-frame-start frametime measured inside 3D application's hooked Present() call. There are no real frametime spikes on 3D app side. Violet (bottom right) frametime graph is reported by PresentMon service's API. Unrealistic spikes are displayed there and on PresentMon's own raw frametime overlay. The frequency of spikes on that graph seem to be directly related to the service's ETW flushing period. If I increase ETW flushing period with pmSetEtwFlushPeriod() inside my PresentMon service's client - the spikes become less frequent too, and they completely disappear if I disable flushing via setting period to 0. Which makes me believe that ETW flushing is direct reason of spikes.
The text was updated successfully, but these errors were encountered: