https://bugs.winehq.org/show_bug.cgi?id=47267
Bug ID: 47267 Summary: Prototype have hurt performance with csmt enabled and required StrictDrawOrdering setting that has been removed Product: Wine Version: 4.9 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: andy86@fastwebnet.it Distribution: ArchLinux
Prototype 1 has hurt performance when csmt is enabled, max 20fps, disabling csmt performance is min 30fps and max 80fps (game is probably bad optimize) but have graphics glitches as geometry flickering, pieces draw in wrong places and animation frame missing.
Try with wine 3.4, that is last version with StrictDrawOrdering settings and enabling it, game do not have geometry glitches in spite of csmt is disabled and have acceptable performance (30~80fps).
Then I think is a good idea reintroduce StrictDrawOrdering settings in new wine, that is useful for game that not take profit from csmt.
https://bugs.winehq.org/show_bug.cgi?id=47267
andy andy86@fastwebnet.it changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |andy86@fastwebnet.it Component|-unknown |directx-d3d
https://bugs.winehq.org/show_bug.cgi?id=47267
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=47267
andy andy86@fastwebnet.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |70f017ac4d40642195947f6e03a | |ff83c246dede8
https://bugs.winehq.org/show_bug.cgi?id=47267
Robert Walker bob.mt.wya@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bob.mt.wya@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=47267
--- Comment #1 from andy andy86@fastwebnet.it --- Created attachment 64612 --> https://bugs.winehq.org/attachment.cgi?id=64612 log +d3d_shader,+d3d_constants,+d3d_perf,+winediag,+pid,+timestamp,+fps csmt enabled
https://bugs.winehq.org/show_bug.cgi?id=47267
--- Comment #2 from andy andy86@fastwebnet.it --- Created attachment 64613 --> https://bugs.winehq.org/attachment.cgi?id=64613 log with +d3d_shader,+d3d_constants,+d3d_perf,+winediag,+pid,+timestamp,+fps csmt disabled
https://bugs.winehq.org/show_bug.cgi?id=47267
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- As far as I know one of the points of having CSMT was to enforces strict draw order. That deprecates StrictDrawOrdering as a separate configurable option. So your issue is strictly about performance.
https://bugs.winehq.org/show_bug.cgi?id=47267
andy andy86@fastwebnet.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |performance, regression
--- Comment #4 from andy andy86@fastwebnet.it --- It does not seem. From the tests done with wine 3.4 seems to be difference between the two things.
wine 3.4 with csmt enabled and sdo disabled have 20-30 fps. wine 3.4 with csmt disabled and sdo enabled have 30-90 fps.
https://bugs.winehq.org/show_bug.cgi?id=47267
--- Comment #5 from andy andy86@fastwebnet.it --- Created attachment 64614 --> https://bugs.winehq.org/attachment.cgi?id=64614 log with +wgl (first lines)
https://bugs.winehq.org/show_bug.cgi?id=47267
--- Comment #6 from andy andy86@fastwebnet.it --- Created attachment 64615 --> https://bugs.winehq.org/attachment.cgi?id=64615 mediafire folder with biggetst log with +d3d
https://bugs.winehq.org/show_bug.cgi?id=47267
--- Comment #7 from andy andy86@fastwebnet.it --- Created attachment 64616 --> https://bugs.winehq.org/attachment.cgi?id=64616 log with wine 3.4 with +d3d_shader,+d3d_constants,+d3d_perf,+winediag,+pid,+timestamp,+fps, csmt-disabled and sdo-enabled
https://bugs.winehq.org/show_bug.cgi?id=47267
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1|70f017ac4d40642195947f6e03a | |ff83c246dede8 | Keywords|regression | Summary|Prototype have hurt |Prototype is slower with |performance with csmt |CSMT enabled |enabled and required | |StrictDrawOrdering setting | |that has been removed |
--- Comment #8 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Nikolay Sivov from comment #3)
As far as I know one of the points of having CSMT was to enforces strict draw order. That deprecates StrictDrawOrdering as a separate configurable option. So your issue is strictly about performance.
Yeah, StrictDrawOrdering isn't coming back. On the other hand there is room for performance improvements in CSMT.
https://bugs.winehq.org/show_bug.cgi?id=47267
andy andy86@fastwebnet.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Prototype is slower with |Prototype is slower with |CSMT enabled |CSMT enabled and have | |geometry glitches with CSMT | |disabled
--- Comment #9 from andy andy86@fastwebnet.it --- I improved the title so that it does not seem that it is enough to disable CSMT to solve the problem.
But the one that I want to point is that the game requires context-> gl_info-> gl_ops.gl.p_glFlush(), but there are probably differences in the way the latter is implemented by CSMT and SDO and these differences cause differences of performance,performance, so I think it would be useful to re-implement context-> gl_info-> gl_ops.gl.p_glFlush() as SDO did so that users can choose the most suitable option for their case.
https://bugs.winehq.org/show_bug.cgi?id=47267
--- Comment #10 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to andy from comment #9)
I improved the title so that it does not seem that it is enough to disable CSMT to solve the problem.
But the one that I want to point is that the game requires context-> gl_info-> gl_ops.gl.p_glFlush(), but there are probably differences in the way the latter is implemented by CSMT and SDO and these differences cause differences of performance,performance, so I think it would be useful to re-implement context-> gl_info-> gl_ops.gl.p_glFlush() as SDO did so that users can choose the most suitable option for their case.
Well, no, that's what StrictDrawOrdering did and, as I already mentioned, we're not going to reintroduce it. That really was just a hack, CSMT solves the issue of ordering operations on multiple contexts / threads correctly.
https://bugs.winehq.org/show_bug.cgi?id=47267
andy andy86@fastwebnet.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |ABANDONED
--- Comment #11 from andy andy86@fastwebnet.it --- Problem solved with last d9vk version.
https://bugs.winehq.org/show_bug.cgi?id=47267
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Austin English austinenglish@gmail.com --- Closing.