StretchDraw is faster than Draw just like StretchBlt is faster than BitBlt. Don't ask me why though... I've read it somewhere, did some benchmarking and it's true...

ScanLines are much faster than the Pixels property even for plotting single pixels. If you want to achieve the ultimate in speed, only use the scanline property once to get a pointer to the pixel memory and then move to the pixel you want to change by increasing the pointer accordingly.

Be sure to check out this page and read the part that says "Optimization".

http://homepages.borland.com/efg2lab...m#Optimization


By the way, I tried to do even faster pixel access by using DIBSections and accessing the memory with inline assembler calls but I couldn't beat the speed of Scanline... so Scanline should be pretty much as fast as it gets (obviously accessing video memory through DirectX would still be faster).