On Fri Aug 11 08:34:38 2023 +0000, Bartosz Kosiorek wrote:
In previous implementation we calculated `src_color` position every time (in `for (x` loop): ``` for (x=0; x<src_width; x++) { ARGB dst_color, src_color; src_color = ((ARGB*)(src + src_stride * y))[x]; ``` With new implementation we are calculating `src_color` position only once (outside `x` loop), and we just iterating the `src_color++`: ``` ARGB *src_color = ((ARGB*)(src + src_stride * y)); for (x=0; x<src_width; x++) { ... src_color++; } ``` It is faster (avoiding not needed multiplications), especially for wide images. I asked because usually claiming something is faster also needs some performance numbers.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/3546#note_42006