By not using floorf from external library ucrtbase.dll the performance of GdipDrawImagePointsRect was improved.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=53947
After applying patch the game performance is similar to native gdiplus.dll.
Result of oprofile before patch: ``` samples % image name app name symbol name 895705 33.4761 ucrtbase.dll.so wine floor 351683 13.1438 no-vmlinux wine /no-vmlinux 330995 12.3706 gdiplus.dll.so wine resample_bitmap_pixel 300093 11.2157 win32u.so wine blend_rects_8888 272645 10.1898 gdiplus.dll.so wine GdipDrawImagePointsRect 137421 5.1360 gdiplus.dll.so wine sample_bitmap_pixel 112476 4.2037 gdiplus.dll.so wine convert_32bppARGB_to_32bppPARGB 35455 1.3251 no-vmlinux wineserver /no-vmlinux 35223 1.3164 no-vmlinux wine64-preloader /no-vmlinux 30252 1.1306 libc.so.6 wine /usr/lib/i386-linux-gnu/libc.so.6 ``` and after patch: ``` samples % image name app name symbol name 248581 18.3279 no-vmlinux wine /no-vmlinux 200141 14.7564 gdiplus.dll.so wine resample_bitmap_pixel 199840 14.7342 win32u.so wine blend_rects_8888 179135 13.2076 gdiplus.dll.so wine GdipDrawImagePointsRect 105785 7.7995 no-vmlinux wine-preloader /no-vmlinux 89534 6.6013 gdiplus.dll.so wine sample_bitmap_pixel 83947 6.1894 no-vmlinux wine64-preloader /no-vmlinux 74132 5.4658 gdiplus.dll.so wine convert_32bppARGB_to_32bppPARGB 22978 1.6942 anon (tgid:374066 range:0x7bc10000-0x7bffffff) wine anon (tgid:374066 range:0x7bc10000-0x7bffffff) 19747 1.4559 libc.so.6 wine /usr/lib/i386-linux-gnu/libc.so.6 14570 1.0742 win32u.so wine solid_rects_32 ```
Can we stop using floorf and ceilf from `math.h`?
-- v3: gdiplus: Boost performance of GdipDrawImagePointsRect.