protonscr

[Game: ATS] [Issue: DXGI and D3D11 log files WELL in excess of 1GB within an hour of play]

dxvkclosed
doitsujin/dxvk#3231 · opened 2023-01-31 by Dracconus · updated 2023-03-01 · 15 comments · github
4 matching comments, n / p to jump
DDracconus 2023-01-31 github

I've been testing out perf variances in American Truck Simulator between NVPI/NCP | DXVK | Stock Game configurations on my main rig (Ryzen 5 5600x \ RTX 2080 Super) to see which would be best for my sub-system (RTX 2060 Ryzen 5 3600) that's in my living room. In doing so I noticed that the log files don't seem to empty themselves of unnecessary data entries, and thus continuously grow as they seem to log at a debug level.

Currently my d3d11 log file is 1,949,794KB and the dxgi log file is 1,000,775KB and that's just from around an hour of playtime. Obviously, with the nature of this game - some truck routes would be in excess of 5+ hours at a time played, thus resulting in log files that would be close to 5GB or more that I'd have to delete every time I close the game (annoying, but simple bat files or windows task scheduling could handle that if necessary.)

MOST of the information presented in the logs is the same stuff spammed across tens of millions of lines, for instance:
d3d11 has 35,337,590 lines of repeated output stating:
warn: D3D11DeviceContext::QueryInterface: Unknown interface query warn: db6f6ddb-ac77-4e88-8253-819df9bbf140
and
dxgi has 17,668,795 lines of repeated output stating:
info: DXGI: NvAPI workaround enabled, reporting AMD GPU

Obviously, this would present a problem on some of the larger jobs in the game. Is this simply something I'm overlooking, or is this an actual issue with other games as well?

Ddoitsujin maintainer 2023-01-31 github

Hm, interesting. I've seen log spam in some games but nothing quite as egregious as this - sounds like they are spamming IDXGIAdapter::GetDesc multiple times per frame and for some reason don't know that their device context object is not a device object.

FWIW, you can set the environment variable DXVK_LOG_LEVEL=error for now to hide unimportant messages, but I'll look into improving the situation for repeated COM interface queries etc. a bit.

DDracconus 2023-01-31 github

Yeah, it threw me for a loop too because at one point they were showing 0b file size because windows couldn't even update it without opening it first due to the size change over such a short period of time ^_^ Gotta love windows explorer's limitations for cache presentation.

As for changing the log level error, I'm assuming I just do that within a conf file within the same directory as the dxgi and d3d11 files, yeah; or would I need to rebuild them with that specified somewhere within it? ( I openly admit I took the lazy route first go-round, and used precompiles...I know, I know, as a programmer I should be better than that; but I trust most open source projects - MOST. LOL)

DDracconus 2023-01-31 github

Oh, if it's helpful:
Lines 81 through 87 present a few errors in the DXGI log output:
info: DXGI: NvAPI workaround enabled, reporting AMD GPU err: wsi: parseColorimetryInfo: Failed to get parse edid. err: DXGI: Failed to parse display metadata + colorimetry info, using blank. err: wsi: parseColorimetryInfo: Failed to get parse edid. err: DXGI: Failed to parse display metadata + colorimetry info, using blank. info: DXGI: NvAPI workaround enabled, reporting AMD GPU warn: DXGI: MakeWindowAssociation: Ignoring flags(That's when the repetition starts)

Ddoitsujin maintainer 2023-01-31 github

Yeah all of those are somewhat expected.

As for changing the log level error, I'm assuming I just do that within a conf file within the same directory as the dxgi and d3d11 files, yeah

It's an environment variable, we (currently) have no way to specify this in the configuration file. How to set that depends on how you launch the game (and whether you're on Windows or not); Proton has logging disabled by default so it's probably not that anyway.

DDracconus 2023-01-31 github

My apologies for the late response.
I've tried setting the log env vars to none, info, and error and it doesn't seem to work. I changed it both at a user, and system level for windows in the system properties window, then proceeded to do it directly to the registry using command prompt and verified that it was in the list on both instances; but to no avail. The logs are still parsing at debug level from the look of it.

Ddoitsujin maintainer 2023-02-01 github

Sounds like a user error, keep in mind that DXVK_LOG_LEVEL is the name of the variable and error has to be set as the value, and that Windows requires you to restart your session for environment variables to apply.

AAndrewTriesToCode 2023-02-11 github

How do the levels work? I set to info expecting only info lines to show up. Playing XCOM2 in Crossover spammed it with errors about texel size so I thought setting the level to info would only show the basics. Didn't work. I ended up setting it to none.

Ddoitsujin maintainer 2023-02-11 github

info prints everything with a severity of at least info, which includes warnings and errors.

AAndrewTriesToCode 2023-02-11 github

thanks! any way to have it log just the info?

Ddoitsujin maintainer 2023-02-11 github

no.

Ffatinghenji 2023-02-27 github

I encountered a similar problem while playing FF14 on windows. ffxiv_dx11_dxgi.log repeatedly shows the following content:

err: wsi: parseColorimetryInfo: Failed to get parse edid. 
err: DXGI: Failed to parse display metadata + colorimetry info, using blank. 

How should I fix it?

BBlisto91 2023-02-27 github

The error is harmless. Tho it shouldn't spam it over and over if that is what is happening.

You can disable logging fully by setting the environment variable DXVK_LOG_LEVEL to none

Ffatinghenji 2023-02-27 github

The error is harmless. Tho it shouldn't spam it over and over if that is what is happening.
You can disable logging fully by setting the environment variable DXVK_LOG_LEVEL to none

Thank you for your answer! I only get a ffxiv_dx11.dxvk-cache file with a size of 2kb after running the game for a while, is this normal?

BBlisto91 2023-02-27 github

They can be relatively small sometimes yes. Depends on the game and i don't know about FF14 specifically.
And if you are on Nvidia then it won't be used at all much anymore since dxvk 2.0 (and not too old drivers). The magic will instead mostly happen in the drivers own cache.

Ddoitsujin maintainer 2023-03-01 github

Fixed in current master, "unknown interface" errors will only be logged if they are unique.

Launch options