Jump to content
  • Advertisement
Sign in to follow this  
ma_hty

OpenGL WinXP 64bit and OpenGL

This topic is 3903 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 developed a program using Cg and OpenGL. The OS of my computer is WinXP and the graphic card is Geforce 8800 GTX. The CPU is Intel Core 2 Duo E6850 3.0Ghz. Will my program become faster simply by porting everything to WinXP 64bit? Thanks in advance. Gary

Share this post


Link to post
Share on other sites
Advertisement
Quote:
Original post by phantom
Probably not, no.


I thought a 64 bit program and 64 bit display card driver running on a 64 bit OS with a 64 bit CPU might be able to deliver a better performance. Why is it not likely?

Share this post


Link to post
Share on other sites
Quote:
Original post by ma_hty
Quote:
Original post by phantom
Probably not, no.


I thought a 64 bit program and 64 bit display card driver running on a 64 bit OS with a 64 bit CPU might be able to deliver a better performance. Why is it not likely?


At most you will get a couple of percent reduction in overhead, but it shouldn't be enough to notice. The performance gain in 64 bit mainly comes from being able to address huge quantities of memory, and perform 64 bit integer operations at full speed.

Share this post


Link to post
Share on other sites
are you using 64 bit ints in your program? If not then why would it be faster to do 32 bit math on a 64 bit processor? Have you profiled your app? Is it processor limited? If not then changing your processing environment is not likely to make much of a change. If your app is memory bandwidth limited why do you think that consuming more bandwidth is going to speed your app up? When you move to a x86-64 operating environment opcodes become longer.

Share this post


Link to post
Share on other sites
It all depends on where your bottleneck is;
- GPU side; won't make a difference
- CPU memory bandwidth size; switching to 64bit could infact hurt as some data types are now twice the size. However this swap alone is unlikely to make a huge impact speedwise unless something is very wrong.
- CPU register pressure wise; ah, now we might see some gains as x64 mode enables more registers. However, again, you are unlikely to see huge jumps by just recompiling your code for x64.

Now, if your bottle neck is on the CPU side profiling will show this up and you can target the areas for improvements, firstly algorithm wise and then code wise by using things such as SSE intrinsitcs (MS's x64 compiler doesn't allow inline assembly in x64 bit mode) to perform more operations at once; this is where x64 can help as, already mentioned, you have alot more registers open to you and thusly can carry out more work clock-for-clock by interleaving more operations and streaming data.

But simply recompiling; no, it's unlikely you'll see much of any change.

Share this post


Link to post
Share on other sites
The bottleneck of my program is on the GPU side. My program is carefully written to minimize the memory transfer between video memory and main memory. As a result, the loading of CPU is less than 2% during rendering time. In another words, all major tasks are completed within the GPU.

Now, I understand that recompiling my program in 64 bit mode would not help much.

Here come another question. Is a 64 bit display card driver perform better than a 32 bit display card driver on a 64 bit CPU? If this is not neither, I can simply forget about 64 bit OS.

Share this post


Link to post
Share on other sites
Your 32bit program is already talking to a 64bit driver; there is a tiny thunking overhead where you swap between 32bit and 64bit code however 64bit processors are just as good, if not not more so, than 32bit processors at running 32bit code.

However this is unimportant as you've just said the GPU is the bottleneck as such you should either;
a) look to improve your gpu code and remove the bottle neck by rebalencing the pipeline
b) take advantage of that free cpu time to do more things
c) move things back from the gpu to the cpu in order to better balence things

Swapping to 64bit from 32bit won't help you here at all.

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!