Jump to content

Best way to measure GPU and CPU frametime with OpenXR?


Willie Nelson

Recommended Posts

Now that we are all transitioning away from SteamVR, what are most people doing to accurately measure GPU and CPU frametime?

I used to use FPSVR on SteamVR but this will no longer work and I am looking to see where I am limited on multithreading.

I know that, theoretically, it can be done looking at task manager but that seems  quite crude. 

i7700k OC to 4.8GHz with Noctua NH-U14S (fan) with AORUS RTX2080ti 11GB Waterforce. 32GDDR, Warthog HOTAS and Saitek rudders. HP Reverb.

Link to comment
Share on other sites

14 hours ago, mbucchia said:

My OpenXR Toolkit has an on-screen overlay that will display FPS, CPU/GPU frame times, and VRAM usage, as well as an option to record data to CSV file:

https://mbucchia.github.io/OpenXR-Toolkit/

@mbucchia Is there way to start en stop frame times and fps logging in OpenXR via command line? It would really help us out to simplify benchmarking replay tracks. See our discussion here: 

 


Edited by Flextremes
Link to comment
Share on other sites

48 minutes ago, Flextremes said:

Thanks. Does 'toggle' mean on/off?

Ah I found it: NO/YES  

 

"toogle" literally means the string "toggle", meaning turn off if it's on, and turn on if it's off. No value other than "toggle" is accepted.

This account is now inactive and not monitored.

Link to comment
Share on other sites

39 minutes ago, mbucchia said:

"toogle" literally means the string "toggle", meaning turn off if it's on, and turn on if it's off. No value other than "toggle" is accepted.

Check, thanks! It worked.  I made a proof of concept for DCS benchmarking.

  • Like 1
Link to comment
Share on other sites

  • 4 months later...
On 3/14/2023 at 9:40 PM, mbucchia said:

My OpenXR Toolkit has an on-screen overlay that will display FPS, CPU/GPU frame times, and VRAM usage, as well as an option to record data to CSV file:

https://mbucchia.github.io/OpenXR-Toolkit/

Thanks for all your amazing tools for OpenXR! They make the VR experience infinitely better!

As of now, I can't see CPU frame times in the multithreaded version of the toolkit. I'm assuming that has something to do with the multithreading itself, but it would be great if it could display that information.

Link to comment
Share on other sites

1 hour ago, Kreutzberg said:

Thanks for all your amazing tools for OpenXR! They make the VR experience infinitely better!

As of now, I can't see CPU frame times in the multithreaded version of the toolkit. I'm assuming that has something to do with the multithreading itself, but it would be great if it could display that information.

Only the application can know certain information. The CPU frame times, when the application is doing multithreading, may overlap two frames, therefore is not measurable "externally" (ie OpenXR Toolkit).

I wrote a very detailed explanation for MSFS, but this is also applicable to DCS since the MT version was released:

https://forums.flightsimulator.com/t/openxr-toolkit-upscaling-world-scale-hand-tracking-release-thread/493924/2903?u=mbucchia

 

  • Like 1
  • Thanks 1

This account is now inactive and not monitored.

Link to comment
Share on other sites

2 hours ago, mbucchia said:

Only the application can know certain information. The CPU frame times, when the application is doing multithreading, may overlap two frames, therefore is not measurable "externally" (ie OpenXR Toolkit).

I wrote a very detailed explanation for MSFS, but this is also applicable to DCS since the MT version was released:

https://forums.flightsimulator.com/t/openxr-toolkit-upscaling-world-scale-hand-tracking-release-thread/493924/2903?u=mbucchia

 

Thanks for that information--it's really interesting!

Link to comment
Share on other sites

  • 2 months later...
On 7/31/2023 at 12:07 PM, mbucchia said:

Only the application can know certain information. The CPU frame times, when the application is doing multithreading, may overlap two frames, therefore is not measurable "externally" (ie OpenXR Toolkit).

I wrote a very detailed explanation for MSFS, but this is also applicable to DCS since the MT version was released:

https://forums.flightsimulator.com/t/openxr-toolkit-upscaling-world-scale-hand-tracking-release-thread/493924/2903?u=mbucchia

 

Now that we have quad views working with the Crystal (thanks mbucchia for that!), I do note that the OpenXR toolkit does not report even GPU frame times. Has someone found a good way to see those in DCS or elsewhere? In quad views, they might not work with external tools much like CPU frame times in the MT client.

Link to comment
Share on other sites

13 minutes ago, Kreutzberg said:

Now that we have quad views working with the Crystal (thanks mbucchia for that!), I do note that the OpenXR toolkit does not report even GPU frame times. Has someone found a good way to see those in DCS or elsewhere? In quad views, they might not work with external tools much like CPU frame times in the MT client.

this is because quad views has its own Turbo Mode enabled by default (for ppl who don't want OpenXR Toolkit). You can disable Turbo in quad views and enable it in OpenXR Toolkit instead, this will fix the frame times measurement in OpenXR Toolkit

  • Thanks 1

This account is now inactive and not monitored.

Link to comment
Share on other sites

On 10/19/2023 at 4:06 PM, mbucchia said:

this is because quad views has its own Turbo Mode enabled by default (for ppl who don't want OpenXR Toolkit). You can disable Turbo in quad views and enable it in OpenXR Toolkit instead, this will fix the frame times measurement in OpenXR Toolkit

Awesome. Thanks as always!

Link to comment
Share on other sites

Hey Matthieu, thanks for all your work. I have a couple questions

  1. I understand the quad view technique is fundamentally different than what openxr toolkit implements, but can you elaborate on this more? What are the tradeoffs (e.g cpu usage), or is quad view simply better for the games that support it?
  2. I notice that quad view enables turbo mode by default? Does this mess up ASW like the OpenXR toolkit version? Why is it enabled by default? If you could elaborate on the tradeoffs here as well that would be great
  • Like 1
Link to comment
Share on other sites

4 hours ago, halufpv said:

Hey Matthieu, thanks for all your work. I have a couple questions

  1. I understand the quad view technique is fundamentally different than what openxr toolkit implements, but can you elaborate on this more? What are the tradeoffs (e.g cpu usage), or is quad view simply better for the games that support it?
  2. I notice that quad view enables turbo mode by default? Does this mess up ASW like the OpenXR toolkit version? Why is it enabled by default? If you could elaborate on the tradeoffs here as well that would be great

What is Quad Views rendering? · mbucchia/Quad-Views-Foveated Wiki (github.com)

This account is now inactive and not monitored.

Link to comment
Share on other sites

1 hour ago, mbucchia said:

I've read through this, thanks for the writeup I learnt a lot. So as for question 1, quad view is better in that it reduces not just shading cost but also rasterization cost, though it increases CPU load because the center part is effectively rendered twice. Why is this, can't we just not render the center in the low resolution views? And, this increase on CPU load, in the context of DCS, is it the load happening on the main thread? Does it have to be?

If there were answers to the ASW/turbo question, I couldn't find them. Feel free to point me to more docs 🙂 I saw a comment of yours in a repo issue saying you have multiple reports of ASW working with turbo, yet both the openxr toolkit overlay and the openxr toolkit docs explicitly say it will break ASW, hence my confusion


Edited by halufpv
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...