http://bugs.winehq.org/show_bug.cgi?id=31458
Bug #: 31458 Summary: Fallout 3: significant performance regression Product: Wine Version: 1.5.5 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-dsound AssignedTo: wine-bugs@winehq.org ReportedBy: ehoover@mines.edu CC: patrakov@gmail.com Classification: Unclassified Regression SHA1: 275dfb83f2371a476b615b260465afb3cdf67f32
Created attachment 41350 --> http://bugs.winehq.org/attachment.cgi?id=41350 Remove the windowed-sinc resampler.
I haven't played Fallout 3 in a while and decided that I finally wanted to try and finish it up. Unfortunately, I discovered a performance regression that's so bad that the game is virtually unplayable (the game freezes up almost constantly). A regression test returns the following: ==== 275dfb83f2371a476b615b260465afb3cdf67f32 is the first bad commit commit 275dfb83f2371a476b615b260465afb3cdf67f32 Author: Alexander E. Patrakov patrakov@gmail.com Date: Mon May 7 00:06:13 2012 +0600
dsound: Added a windowed-sinc resampler.
:040000 040000 8ecb8b2fbc5c65c2066aaf9a5e8c58104996c5ab 3768c38fdafc656c5e18e14ad70884ea7864b758 M dlls :040000 040000 680c52a0ebe164ca9b6a42d40c6521a91ae86e96 83407150c9beff0aa69d2d2e017b522543ac347f M tools ====
Unfortunately this does not remove cleanly off of latest git, so I've attached a patch that removes the resampler (based against wine-1.5.10).
http://bugs.winehq.org/show_bug.cgi?id=31458
--- Comment #1 from Alexander E. Patrakov patrakov@gmail.com 2012-08-12 23:44:51 CDT --- I think that outright removing the resampler for all applications is not the right thing. It was added for a reason - very bad sound quality in media players.
Bug 30639 has a patch (possibly outdated) that switches to a low-quality resampler only if enough voices are playing for performance concerns to become relevant. If that patch also resolves your problem, please mark your bug as a duplicate. Thanks.
http://bugs.winehq.org/show_bug.cgi?id=31458
--- Comment #2 from Alexander E. Patrakov patrakov@gmail.com 2012-08-12 23:51:34 CDT --- Or rather, could you please look at these patches instead:
http://www.winehq.org/pipermail/wine-patches/2012-May/114356.html
http://www.winehq.org/pipermail/wine-patches/2012-May/114357.html
http://bugs.winehq.org/show_bug.cgi?id=31458
Erich Hoover ehoover@mines.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #41350|0 |1 is obsolete| |
--- Comment #3 from Erich Hoover ehoover@mines.edu 2012-08-13 07:29:51 CDT --- Created attachment 41353 --> http://bugs.winehq.org/attachment.cgi?id=41353 Simpler removal of windowed-sinc resampler.
(In reply to comment #2)
Or rather, could you please look at these patches instead:
http://www.winehq.org/pipermail/wine-patches/2012-May/114356.html
http://www.winehq.org/pipermail/wine-patches/2012-May/114357.html
Well, these patches work - but I'm not sure that this game needs the resampler at all. Maybe I'm just not in tune with such things, but it doesn't sound like the audio is messed up when there's no resampler. I've attached a simpler patch that I used to test this.
http://bugs.winehq.org/show_bug.cgi?id=31458
--- Comment #4 from Alexander E. Patrakov patrakov@gmail.com 2012-08-13 08:36:31 CDT --- Given that the game uses a lot of CPU when a high-quality resampler is used, it does need a resampler. Even as simple as zero-order-hold (which is what was there before I added a windowed-sinc=based one, and which is what your patch effectively does).
I say so because there is a condition in the code to disable resampling when the input and output sample rates match.
As for your patch - I completely disagree. Please listen to a sample from 26984 in foobar2000.
http://bugs.winehq.org/show_bug.cgi?id=31458
Erich Hoover ehoover@mines.edu changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |DUPLICATE
--- Comment #5 from Erich Hoover ehoover@mines.edu 2012-08-13 09:07:45 CDT --- (In reply to comment #4)
Given that the game uses a lot of CPU when a high-quality resampler is used, it does need a resampler. Even as simple as zero-order-hold (which is what was there before I added a windowed-sinc=based one, and which is what your patch effectively does). ...
Ok, I'll trust you - I honestly can't tell the difference in the audio between the two cases, but it may just be that explosions sound like explosions no matter how they're resampled ;)
*** This bug has been marked as a duplicate of bug 30639 ***
http://bugs.winehq.org/show_bug.cgi?id=31458
--- Comment #6 from Alexander E. Patrakov patrakov@gmail.com 2012-08-14 00:10:37 CDT --- (In reply to comment #5)
Ok, I'll trust you - I honestly can't tell the difference in the audio between the two cases, but it may just be that explosions sound like explosions no matter how they're resampled ;)
It is indeed the case. To hear the difference, you need some tonal content - e.g. background music, an alarm, birds or even human speech.
http://bugs.winehq.org/show_bug.cgi?id=31458
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #7 from Austin English austinenglish@gmail.com 2012-08-21 17:51:35 CDT --- Closing.