uxtheme: speed up UXTHEME_SizedBlt(ST_TILE)
Alex Villacís Lasso
a_villacis at palosanto.com
Mon Apr 21 09:55:12 CDT 2008
I was very annoyed with the slowness of the theme engine in the listbox
case (as used by builtin regedit). I tracked down the source of the
slowdown to a iteration in UXTHEME_SizedBlt() that repeatedly calls
UXTHEME_Blt() in order to cover the required area. The attached patch
replaces this with an iteration over a memory bitmap that is then used
by UXTHEME_Blt() in a single call. All tests still pass. Results in
noticeable speedup in the painting of the listview header in regedit and
the two uses in winecfg.
* Speed up UXTHEME_SizedBlt in the ST_TILE by building an
appropriately-sized memory bitmap out of the tile instead of iterating
with UXTHEME_Blt() directly.
perl -e '$x=2.4;print sprintf("%.0f + %.0f = %.0f\n",$x,$x,$x+$x);'
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3589 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080421/001f72dd/attachment.bin
More information about the wine-patches