View Single Post
  #1 (permalink)  
Old October 9th, 2005, 11:24 AM
czw6296 czw6296 is offline
Registered User
 
Join Date: Oct 2005
Posts: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default 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);
    }
}


Reply With Quote