Jump to content
  • Advertisement
Sign in to follow this  
Constantin

SDK 9.0c performance on Vista

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

Advertisement
Quote:
Original post by Constantin
I am blitting from the backbuffer to a HDC.

In Vista, this blitting far slower than in XP. Any idea why?
Access to the backbuffer is incredibly slow. In Vista, GDI is handled with DX9, so you get twice the performance hit - once for touching the backbuffer (Which is slow already), and once for writing to the HDC, which is probably then used to render the next frame.

What exactly are you doing?

Share this post


Link to post
Share on other sites
I have a bitmap that is painted with 100% GDI plus that is eventually
blitted to the screen (double buffering).

There is a small area within the bitmap that I want to do 3D with.
I render to the back buffer than blit to the bitmap then blit to the
screen. The difference in performance with XP is very obvious.

Will render targets help?

Share this post


Link to post
Share on other sites
Quote:
Original post by Constantin
I have a bitmap that is painted with 100% GDI plus that is eventually
blitted to the screen (double buffering).

There is a small area within the bitmap that I want to do 3D with.
I render to the back buffer than blit to the bitmap then blit to the
screen. The difference in performance with XP is very obvious.

Will render targets help?
Render targets would be better than reading from the backbuffer; you could use 3 or 4 in a loop if you don't mind rendering being 3 or 4 frames late too - that should help a great deal.

Alternatively, can you not render directly to the window? That would surely be much easier and faster than copying data around?

Share this post


Link to post
Share on other sites
I did more digging. Blitting from the
back buffer to a HDC is expensive but
GetRenderTargetData from the back buffer
to an offscreen plain surface is cheap.
I then blit from the offscreen surface to the HDC.
It gives the same kind of performance as XP now.

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!