Sign in to follow this  
StephenTC

DX10: Command Buffer, CPU-GPU Syncronization Questions

Recommended Posts

StephenTC    100
Hey Everyone, So, I'm still sifting through the DX10 SDK, and I'm currently on http://msdn2.microsoft.com/en-us/library/bb205132.aspx . This page goes over copying and accessing textures in DirectX 10. A couple of my questions are true in all graphics languages, but I wanted to verify what I'm reading is right. The MSDN states that there are only 4 ways that the command buffer is actually sent to the graphics card. -- 1. IDXGISwapChain::Present is called. 2. ID3D10Device::Flush is called. 3. The command buffer is full; its size is dynamic and is controlled by the Operating System and the graphics driver. 4. The CPU requires access to the results of a command waiting to execute in the command buffer. -- Will the graphics card actually poll the CPU for commands if it has nothing to do? I'm just wondering because I'm trying to figure out what the correct way to read from textures is without locking the CPU and GPU. Unfortunately, the MSDN sdk says that you should actually call for the copy on frame n, and then actually try to map (or read from) the data on frame n+2. This makes reading from data generated on the GPU 2 frames late, which may just be too late for it's purpose. I suppose I understand why this is unavoidable, and one could just create a queue of 3 staging resources so that one never slowed down the application, but still... Any comments? Thanks for your help! Stephen Timothy Cooney

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this