https://bugs.winehq.org/show_bug.cgi?id=24505
--- Comment #22 from Guilherme S. oguilherme@protonmail.com --- I've downloaded a "patched" PlantsVsZombies.exe binary from GameCopyWorld (sha256: 48e28b4a6838061d49d4d83fe891320235b0895208e30e199fb21fd89980a672), then I used it as a replacement to the original one from Steam. The performance difference was _immediately_ visible.
I was getting 8 ~ 12 fps in the card picking screen, whilst using the unmodified executable. But now, I'm able to get 65 ~ 70 fps on that same screen. I'm not exactly sure if the patched executable simply removed the DRM stuff, but whatever it's done, it helped _a lot_ performance-wise.
Then, just for fun, I decided to do the same on Windows 10 (which I have on dual boot), just so we could know if it would made a difference there too. To my surprise, the results were pretty much similar to Wine's.
In fact, using the unmodified PlantsVsZombies.exe binary on Windows 10 (build 2004), lead to the same slowdown we experience on Wine (in the card picking screen). If you're curious, I've recorded two videos comparing the performance before and after changing the executables, on both Windows 10 and Arch Linux, running on the exact same machine.
Before you watch the video, keep in mind that I've also used dgVoodoo2 in both OSes, which is basically an awesome program that translates DirectDraw calls into Direct3D 11 ones, so that I'm able to use DXVK and get a little bit more of fps on Wine. Anyway, here are the videos:
Windows - https://www.youtube.com/watch?v=DiW_sE1ehMw Linux - https://www.youtube.com/watch?v=p6tX_qPdth4
Albeit the performance gains were visible, it's still weird to me that a 2D game from 10 years ago, running on a dedicated GPU (granted, a GTX 660 is not exactly the most powerful one), still struggles to get past 60 fps on that particular screen.
But anyway... to summarize, my humble guess is that, this performance problem is indeed DRM-related, as initially suspected by Jerome Leclanche. Unfortunately, my knowledge about Windows APIs and DRMs is pretty much zero, so I won't be able to actually confirm it. :)
But if anyone else wants to give it a try, the game is on sale on Steam right now for only $0.99.