Function FillBuffer(buff,width,height,c=0)
LockBuffer buff
WritePixelFast 0,0,c,buff
WritePixelFast 1,0,c,buff
WritePixelFast 0,1,c,buff
WritePixelFast 1,1,c,buff
state=0
x=2
y=2
While x<width
While y<height
If state=0
CopyRect 0,0,x,y,x,0,buff,buff
x=x*2
state=1
Else
CopyRect 0,0,x,y,0,y,buff,buff
y=y*2
state=0
EndIf
Wend
Wend
UnlockBuffer buff
Return buff
End Function
быстрое заполнение поверхности одним цветом, у меня 512 на 512 заполнило за 72 мс, в то время как заполнение путем перебора всех пикселей и writepixelfast работало 3913 мсек. на больших поверхностях выигрыш должен быть еще существенние.
p.s. DebugMode включон.