BitBlt speed WinXP
Herbert König
herbertkoenig at gmx.net
Sun Feb 18 14:51:20 UTC 2007
Hello,
using BitBlt for speed I draw some 15.000 white rectangles on a Morph.
Each is 4x4 pixels.
On my slow computer I get 480ms for the following method:
testDrawWhiteRects
"just try if the white rectangles are drawn correctly"
| bb |
bb := BitBlt new.
bb setDestForm: Display.
bb width: dotSize ; height: dotSize .
bb fillColor: Color white; combinationRule: Form paint.
rectangleCoords do: [:koords| bb destX: koords x; destY: koords y; copyBits.]
If I comment out the actual transfer (the copyBits) the result is only
25ms.
I use a Display depth of 32, no difference if I change between big and
little endian and my Win also uses 32 bits display depth.
Tried with 3.7 and 3.9 VM. Also nearly no difference between OpenGL
and Direct3D.
On a fast computer (1.86GHz Pentium M) results aren't much better (10
and 270ms).
Is this to be expected, or am I doing something wrong? We have
Ballon3D which promises real time movement and I guess it finally
relies on BitBlt. So I expected much better performance.
Thanks for any pointers,
Herbert mailto:herbertkoenig at gmx.net
More information about the Squeak-dev
mailing list
|