DXVK_HUD

Games and gaming tweaks
Forum rules
Behave
Post Reply
User avatar
Grogan
Your Host
Posts: 2049
Joined: Sat Aug 21, 2021 10:04 am
Location: Ontario, Canada

DXVK_HUD

Post by Grogan »

I've never used it and I'm not sure I'm going to (I'm leery of any kind of overlay) but there's an environment variable that can be set with a comma separated list of values. I've seen it in passing, but I had no idea you could display all these stats with it (as I'd never read down that far before lol). What really caught my attention is shader compiler activity. With that, you could discern shader compile hitching from other factors like texture streaming etc.

https://github.com/doitsujin/dxvk#hud
HUD

The DXVK_HUD environment variable controls a HUD which can display the framerate and some stat counters. It accepts a comma-separated list of the following options:

devinfo: Displays the name of the GPU and the driver version.
fps: Shows the current frame rate.
frametimes: Shows a frame time graph.
submissions: Shows the number of command buffers submitted per frame.
drawcalls: Shows the number of draw calls and render passes per frame.
pipelines: Shows the total number of graphics and compute pipelines.
descriptors: Shows the number of descriptor pools and descriptor sets.
memory: Shows the amount of device memory allocated and used.
gpuload: Shows estimated GPU load. May be inaccurate.
version: Shows DXVK version.
api: Shows the D3D feature level used by the application.
cs: Shows worker thread statistics.
compiler: Shows shader compiler activity
samplers: Shows the current number of sampler pairs used [D3D9 Only]
scale=x: Scales the HUD by a factor of x (e.g. 1.5)
opacity=y: Adjusts the HUD opacity by a factor of y (e.g. 0.5, 1.0 being fully opaque).

Additionally, DXVK_HUD=1 has the same effect as DXVK_HUD=devinfo,fps, and DXVK_HUD=full enables all available HUD elements.
There are other interesting variables like frame rate limiting available too in there.

I'll have to see if there's a similar one for DirectX 12 (vkd3d-proton)
User avatar
Grogan
Your Host
Posts: 2049
Joined: Sat Aug 21, 2021 10:04 am
Location: Ontario, Canada

Re: DXVK_HUD

Post by Grogan »

That'd be a no, for vkd3d-proton. There's that Mango HUD and also the Mesa Vulkan Overlay (which I actually compile but don't use) though.

There won't be shader compiler stats though. That is something that's easy for DXVK, but for vkd3d-proton and DirectX 12, the games manage the pipelines (actually have the compilation threads) and the the vkd3d translation layer interacts with the backend to manage our Vulkan shaders. (As far as I understand it). In other words the CPU time wouldn't be something you could separate from the game. You could somehow tell at the back end that the shader compiler is being invoked but you couldn't provide meaningful information to discern performance bottlenecks.
Post Reply