I just read the DirectX documentation and met something interesting on the IDirect3DDevice9 :: BeginScene page :
To enable maximum parallelism between the processor and the graphics accelerator, it is advantageous to call IDirect3DDevice9 :: EndScene , as far ahead of the calling gift as possible.
I'm used to writing my game loop to process input, etc., and then draw. Do I have it back? Perhaps the game loop should be something like this: (semi-pseudo-code, obviously)
while(running) {
d3ddev->Clear(...);
d3ddev->BeginScene();
d3ddev->EndScene();
d3ddev->Present(NULL, NULL, NULL, NULL);
}
According to this documentation proposal, this loop will “include maximum parallelism”.
? ? ... , - - , - , - ?