Advertisement

OpenGL & multithreading

Started by January 06, 2002 12:39 PM
11 comments, last by LowRider 23 years, 1 month ago
So, is it impossible to ''render'' the image on 2 cpu''s?
I don''t really think the loading and AI take a lot of system power.

Once everything is loaded, there''s almost no more activity on the second CPU.

Besides, who said anything about AI? :-)

I''m still not clear on the OpenGL hardware acceleration part.
If it''s hardware accelerated, is it necessary to have a lot of CPU power?
Besides recalculating locations of objects, what else does the CPU do?



LowRider
LowRider
Sensibly you should never render in two seperate threads - the OpenGL rendering context is only current in one thread. You can get around this, but the overhead for the drivers is too great. Remember that the drivers are only single threaded.

If you used two threads to render, and you''re in the middle of rendering a large vertex array on one CPU, and you''re also rendering a large VA one the other - how would the driver be able to keep up. This is particularly true if you''re using AGP memory, where the card relies on streaming the data directly from the AGP mem. You would loose all the efficiency of hardware acceleration. The only way around this would be to synchronise the two threads - which would make MT pointless!

Check out :
http://www.opengl.org/discussion_boards/ubb/Forum3/HTML/004719.html
Advertisement
I see.
I got carried away by the use of MT with 3D apps (Maya, MAX, ...)
But then I realized that they render to a file.

I''ll try to implement MT in another way perhaps, but I see it''s of little interest...

Thanks for the answers!



LowRider
LowRider

This topic is closed to new replies.

Advertisement