How to speed up 10 times using directX?
void TForm1::Draw(void)
{
HDC DC;
if (lpDDSPrimary->IsLost() == DDERR_SURFACELOST)
lpDDSPrimary->Restore();
if (lpDDSBack->GetDC(&DC) == DD_OK)
{
Canvas->Handle = DC;
if(phase)
{
top=1;
for(int i=0;i<Canvas->ClipRect.Bottom;i+=deltah)
{
left=1;
for(int j=0;j<Canvas->ClipRect.Right;j+=deltaw)
{
Canvas->Brush->Color=(TColor)RGB(255-i,255-j,255-i*j);
Canvas->FillRect(Rect(left,top,left+deltaw,top+deltah)) ;
left+=deltaw;
}
top+=deltah;
}
Canvas->TextOutA(50,100,"Front");
phase = 0;
}
else
{
top=1;
for(int i=0;i<Canvas->ClipRect.Bottom;i+=deltah)
{
left=1;
for(int j=0;j<Canvas->ClipRect.Right;j+=deltaw)
{
Canvas->Brush->Color=(TColor)RGB(255-i*j,255-j,255-i);
Canvas->FillRect(Rect(left,top,left+deltaw,top+deltah)) ;
left+=deltaw;
}
top+=deltah;
}
Canvas->TextOutA(50,150,"Back");
phase = 1;
}
lpDDSBack->ReleaseDC(DC);
}
}
|