https://bugs.winehq.org/show_bug.cgi?id=53947
florian.will@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |florian.will@gmail.com
--- Comment #6 from florian.will@gmail.com --- It looks like the intro spends a lot of time in GdipDrawImagePointsRect() to resize 514 x 696 source images to the full window size, something like 3693 x 2100 in your case, and closer to full HD in my case.
I experimented with some ugly optimizations [1] a while ago for another application that relies heavily on image resizing, and while my changes speed that intro up, it's still not great (28ms / frame for 1814 x 1053 vs. 56ms on git master, using Ryzen 5 1600 – I suspect it's supposed to run at 60 FPS?). I suspected that my changes would introduce lots of bugs for use cases that go through the same code, so I gave up on that attempt.
[1] https://github.com/w-flo/wine/commits/zusi_opt , "Fast path for resampling unrotated bitmaps" is probably the relevant commit
I wonder, does native gdiplus use SIMD to speed this up? Or do they simply use a more efficient non-SIMD algorithm for image upscaling? I'm surprised it apparently works good enough on 4K for you.