Jump to content
  • Advertisement
Sign in to follow this  
dave

Help with PIX please? :D

This topic is 3267 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm having a mare here because i've been staring at these bloody numbers for so long. I'm analysing a frame from my renderer which renders 1 low complexity model through a deferred pipeline with 6 or so lights and the frame time is about 10ms. I want to know why, so i dug out PIX and did a single frame capture. I have some of my own markers in my rendering pipeline to break it up. So in short, the documentation says that the StartTime column is in nanseconds, billionths of a second. According to the numbers there setting the render targets at the beginning of my object pass takes 6 seconds. I must be misinterpretting this. I know there is none of my own code taking up time in between the calls, this was the first thing i eliminated. The next thing i did was to take out the drawing of the models, which follows the render target setting and the results were much the same. Can anyone explain what might be going on here?

Share this post


Link to post
Share on other sites
Advertisement
I haven't used PIX much, but for me, it slows down rendering a lot when saving a frame. So I cannot really get something out from the timing done.

Do you have the same delay without PIX?

/

Share this post


Link to post
Share on other sites
Are you running the debug runtimes? If so, try disabling them and see if that helps any.

What size are your render targets? And are they all the same format? Are the calls all succeeding (And are the render targets all D3DUSAGE_RENDERTARGET)?

Share this post


Link to post
Share on other sites
Morning,

@ Haladria

Yes i get nearly exactly the same slow down.

@ EvilSteve
1) Yes they do succeeded.
2) They are all D3DFMT_A32B32G32R32F (which im aware is liberal and that will be optimised sooner rather than later :D).
3) Yes they are all surfaces from textures created with:
4) Retail runtimes.

HRESULT Result( m_Device->CreateTexture( 1280, 1024, 1, D3DUSAGE_RENDERTARGET, static_cast<D3DFORMAT>(rTextureProperties.GetFormat()), D3DPOOL_DEFAULT, &NewTexture, NULL ) );


Am i interpretting those numbers correctly? Other SetRenderTargetCalls() later on don't cose the same, or atleast dont produce the same numbers.

Thanks,

Share this post


Link to post
Share on other sites
How much VRAM does your card have? Those render targets are 20MB each, I wonder if they're being swapped in and out of VRAM somehow (Although default pool resources shouldn't be...). What does IDirect3DDevice9::GetAvailableTextureMem report (After a frame or two, to give managed resources time to get into VRAM)?

Share this post


Link to post
Share on other sites
My video card is an 8800gtx with 768mb. The number reported by GetAvailableTextureMem() was 2,088,763,392.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!