I just did some tests on speed and I think you'd be interested in the results.
The code below gave these results (i've commented them) :
Render 1 Million Random Blocks to Backbuffer and Flip (Cycle1): 2739 Millisecs (DirectX) 1887 (OpengGL)
Render 1 Million Blocks to Texture then Draw Image to Backbuffer and Flip (Cycle1) : 2721 Millisecs (DirectX) 1867 (OpenGL)
Render 1 Million Random Blocks to Backbuffer and Flip (Cycle2): 2667 Millisecs (DirectX) 1867 (OpenGL)
Render 1 Million Blocks to Texture then Draw Image to Backbuffer and Flip (Cycle2) : 2670 Millisecs(DirectX) 1868 (OpenGL)
Now unless I've made some stupid error in my test code I reckon that's pretty damn fast don't you Mr Cummings..
The code below gave these results (i've commented them) :
Render 1 Million Random Blocks to Backbuffer and Flip (Cycle1): 2739 Millisecs (DirectX) 1887 (OpengGL)
Render 1 Million Blocks to Texture then Draw Image to Backbuffer and Flip (Cycle1) : 2721 Millisecs (DirectX) 1867 (OpenGL)
Render 1 Million Random Blocks to Backbuffer and Flip (Cycle2): 2667 Millisecs (DirectX) 1867 (OpenGL)
Render 1 Million Blocks to Texture then Draw Image to Backbuffer and Flip (Cycle2) : 2670 Millisecs(DirectX) 1868 (OpenGL)
Strict Import Indiepath.Render2Texture HideMouse() Graphics 512,512 tRender.Initialise() Local myImage:TImage = tRender.Create(512,512) Delay (500) ' Do Normal Render to Backbuffer Local ms=MilliSecs() tRender.BackBufferRender_Begin() DrawBlocks(1000000) tRender.BackBufferRender_End() Flip 0 Print MilliSecs()-ms WaitKey() Cls ' Do Render To Texture Then draw Textured image on screen ms=MilliSecs() tRender.TextureRender_Begin(myImage) DrawBlocks(1000000) tRender.TextureRender_End() SetColor 255,255,255 tRender.BackBufferRender_Begin() DrawImage myImage,0,0 tRender.BackBufferRender_End() Flip 0 Print MilliSecs()-ms WaitKey() ' Do Normal Render to Backbuffer ms=MilliSecs() tRender.BackBufferRender_Begin() DrawBlocks(1000000) tRender.BackBufferRender_End() Flip 0 Print MilliSecs()-ms WaitKey() Cls ' Do Render To Texture Then draw Textured image on screen ms=MilliSecs() tRender.TextureRender_Begin(myImage) DrawBlocks(1000000) tRender.TextureRender_End() SetColor 255,255,255 tRender.BackBufferRender_Begin() DrawImage myImage,0,0 tRender.BackBufferRender_End() Flip 0 Print MilliSecs()-ms WaitKey() End Function DrawBlocks(n:Int) For Local a:Int = 1 To n SetColor Rand(0,255),Rand(0,255),Rand(0,255) DrawRect(Rand(0,511),Rand(0,511),Rand(10,20),Rand(10,20)) Next EndFunction
Now unless I've made some stupid error in my test code I reckon that's pretty damn fast don't you Mr Cummings..