Sign in to follow this  
cache_hit

Performance of D3D10 on Windows 7

Recommended Posts

I just got a brand new PC, Intel core i7 with ATI Radeon HD 4350 running Windows 7 Ultimate. I wrote a sample program using D3D 10 that does *nothing* except clear the display every frame and draw the FPS and milliseconds per frame in the window. What I don't understand is that I'm only getting a max of 700 FPS when I do this. Normally this would easily result in 4,000+ frames per second. I've never used windows 7 or even vista before however, and I'm also somewhat new to D3D in general. Could this be related to its use of 3d graphics and transparency for the desktop and windows? Or something else maybe? Any suggestions appreciated.

Share this post


Link to post
Share on other sites
My previous computer was far slower, running Windows XP and a 2 or 3 generation old video card, and using DirectX 9 the same program (well, a Dx9 program that did the same thing but used dx9 interfaces) was giving me about 3,000 frames per second. I know mspf is more useful than fps, but 700 fps is like 1.5 milliseconds per frame, which seems pretty strange since all it's doing is clearing the back buffer and drawing some text to the window, and on my slow DX9 machine with a terrible video card I was getting 0.3 milliseconds per frame.

Share this post


Link to post
Share on other sites

Is this using a release build of your app?

Use PIX or some other GPU profiler to look at what's actually happening, then it should be more obvious.

How big is the render target? What format is it in? Are you clearing depth too? How long does the actual clear take versus your text drawing? A screenshot of the profiler with timings per action would be most helpful.

Latest video drivers? Beta Win7 video drivers? Could be a culprit.

Also, this doesn't mean your fancy new computer can only draw a fraction of the stuff your old computer could. More realistically, it will blow the socks off of it and you'll wonder why you wasted time worrying about how long it takes to only clear the buffer.

Share this post


Link to post
Share on other sites
It is a release build, I'll look into PIX. For reference my draw function looks like this:


md3dDevice->ClearRenderTargetView(mRenderTargetView, mClearColor);

md3dDevice->ClearDepthStencilView(mDepthStencilView, D3D10_CLEAR_DEPTH|D3D10_CLEAR_STENCIL, 1.0f, 0);

RECT R = {5, 5, 0, 0};
mFont->DrawText(0, mFrameStats.c_str(), -1, &R, DT_NOCLIP, D3DXCOLOR(0.0f, 0.0f, 0.0f, 1.0f) );

mSwapChain->Present(0, 0);




The render target is initially 800x600 windowed. I'm using dual widescreen monitors, one of which is 1920x1080 and the other of which is 1680x1050. Switching to full screen via the Alt+Enter support that is automatically provided by DXGI on either monitor and I get similar FPS.

The drivers could be a definite culprit, didn't think of that. It doesn't claim to be a beta driver, but windows 7 isn't even in stores yet so I doubt it's as solid as it will be in a few months. To be honest I know hardly anything about the performance of this video card. I got the cheapest one that was available with this system configuration because I was going to wait for the DX11 cards to come out. I'll try to update my video drivers and if it's still bothering me I might try the GPU profiler you suggested.

You're right that it's probably nothing to worry about, just found it odd that it takes a few milliseconds to clear the screen. I wasn't sure if it was related to the way I was using D3D. The initialization procedure has changed drastically since D3D9 and I wasn't sure if I was doing it wrong for multi-mon setups, or something like that.

Share this post


Link to post
Share on other sites
Have you tried disabling themes and desktop composition? I found that doing that increases my frame rate for a blank screen in both Direct3D and OpenGL by up to 4x.

Also, try disabling your second monitor and see if that has an effect on performance.

And finally the HD 4350 isn't an overly powerful card... that may be its fillrate limit? Especially since your resolutions are fairly large.

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