https://bugs.winehq.org/show_bug.cgi?id=53947
--- Comment #17 from florian.will@gmail.com --- (In reply to Fabian Maurer from comment #10)
I created a little program for easier testing.
Thanks for the little benchmark program, good to have some numbers!
I just rebased my patches at https://github.com/w-flo/wine/commits/zusi_opt on top of latest winehq git. The patchset improves the benchmark result from
Success, time per run: 87.500000 ms [git master]
to
Success, time per run: 23.500000 ms [zusi_opt]
for me. After "winetricks gdiplus" I get 54.5 ms, so the patchset seems to make this particular benchmark run faster than when using native gdiplus.
The improvement is mostly thanks to "WIP: gdiplus: Fast path for resampling unrotated bitmaps" (which needs the two preceeding refactoring commits for resample_bitmap() and apply_tiling()).
I don't really like that patch though, it seems really convoluted and I'm not convinced it works correctly in general (it seems to work fine for my use-case ZusiDisplay, as well as this bechmark program).
I wonder if a similar or better improvement could be achieved using less code / easier to read code.