On Sat Oct 12 07:13:44 2024 +0000, Jinoh Kang wrote:
It also sort of depends on *who* is benchmarking it; perf optimizations are usually tradeoffs, and one particular benchmark might report perf increase while it slows down basically every practical application. Just the fact that "it allows d3d log level to be changed dynamically" is an assumed knowledge that can only be discovered by digging the docs and/or source code.
While benchmarks shouldn't be run with logging on, I'd really like to see a solution for the problem that e.g. WINEDEBUG=-d3d or WINEDEBUG=warn+d3d slows down execution tremendously. This can hamper development by unnecessarily slowing down the program by an order of magnitude, and it can also greatly confuse someone who (quite reasonably, I think) doesn't anticipate this is the case. I have multiple times thought that I made a change which regressed performance, wasted hours trying to bisect, only to discover that I had at some point added "-d3d" to the flags.
Perhaps the best solution here is to have an explicit flag that allows the channel to be set dynamically, while the current WINEDEBUG syntax sets the level immutably and avoids the need to recheck.