Jump to content
  • Advertisement
Sign in to follow this  
DaJudge

DirectX performance problems

This topic is 5224 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

Hi all, I have a huge performance problem with DirectX 8 right now. I reverse engineered NVidia's NMB file format used for the dawn demo and am now able to render the fairy's mesh without problems (still a lot of work for materials to do though). The thing is: is slow like nothing. I am crawling around at 0.3 fps or so. Since the origibal demo runs nicely on my system I assume it's something with my code. I tried various things such as using only a 1x1 texture or putting all geometry in larger buffers but nothing changed a thing there. Any ideas what might be the problem? Or any ideas about how to narrow down the bottleneck? Any help is greatly appreciated. Cheers, Alex

Share this post


Link to post
Share on other sites
Advertisement
Are you sure your application isn't falling back to using the reference rasterizer?

You may want to look at this list slow operations, and compare it to how many calls of each your are making.

Share this post


Link to post
Share on other sites
The PIX tool, included in the new sdk, is very good in solving d3d pipe performance problems. It can show state change counts per frame, among other relevant info.

That said, I also believe the slowness is due the reference rasterizer - if not, you have seriously bad drawing code somewhere in your program.

Share this post


Link to post
Share on other sites
Cool. I'm definitely going to have a look at that list. Thanks for that.

No, it's not falling back to the reference rasterizer (I am running against the retail runtime - I don't even have the reference rasterizer installed). Besides of that I am running a DX8 app on a DX9 gcard, so that shouldn't happen even if I had the reference rasterizer installed.

Does that PIX tool work for DX8 applications as well? Sounds definitely interesting.

Chers,
Alex

Share this post


Link to post
Share on other sites
Quote:
Original post by DaJudge

Does that PIX tool work for DX8 applications as well? Sounds definitely interesting.


Do try that, and report here if it does. I don't actually have D3d8 apps at my personal machine at the moment, so cannot do that myself.

I consider it very possible, at least technically.

Share this post


Link to post
Share on other sites
Quote:
Original post by Nik02
Quote:
Original post by DaJudge

Does that PIX tool work for DX8 applications as well? Sounds definitely interesting.


Do try that, and report here if it does. I don't actually have D3d8 apps at my personal machine at the moment, so cannot do that myself.

I consider it very possible, at least technically.


Hm. Currently downloading the new SDK. However I doubt that works since the PIX application requires hooks in the D3D-library that most probably aren't present in the DX8 libs... We'll see.

Cheers,
Alex

Share this post


Link to post
Share on other sites
Quote:
Original post by Pipo DeClown
0.3 FPS? That is the reference rasterizer.


It's not:
Direct3D8: (INFO) :HalDevice Driver style 7

Share this post


Link to post
Share on other sites
Don't want to post all that stuff here. It's a few times about multiple locking of vertex & index buffers at startup (so it's NOT critical to runtime performance) and during runtime lots of redundant render / texture stage sets. Do you think capturing those redundant stage changes can make a THAT big difference? I honestly don't...

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.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!