View Single Post
  #12  
Old 01-26-2011, 09:38 AM
Heliocon Heliocon is offline
Approved Member
 
Join Date: Dec 2010
Posts: 651
Default

Quote:
Originally Posted by mazex View Post
Well, if they manage to balance 4 threads that really does something useful and don't spend too much time on synchronization/sleep/wait/join so the main render thread can not continue they can start thinking of that Multi threading is good for a lot of stuff but in a game where the game render loop runs at 100 fps you can't wait 10 ms for some shared memory that is locked by the AI thread that is busy or you will get problems... Ok, for some tasks like loading data or textures in the background that does not mess with shared memory it can be useful but to spread ai, physics, net code etc on different threads and really gain performance you easily end up with code that is a pure hell to debug or tune... Multi threading works best for stuff that does not share stuff - like in a business application where one thread can chunk tasks that run for a while with no interaction with the other threads and then return a result. Thats not how a game works unfortunately...
uhhh what? Sorry you got the mechanics here very wrong. First off the CPU does not render anything, thats the GPU. Second shared memory.... lol?
3. I think you misunderstand the mechanics of how threading works, it activly assigns tasks to each thread, it does not "lock them" to one task. If it does thats extremely poor programming and will not be present due to the fact that it would most likely be incompatible with W7+DX11 dynamic load management. The threads are not assigned like AI, Physics etc, they just all run tasks in parallel, often they will run constantly one area of the game but the whole idea of multithreading is to eliminate the wait. In a singlecore/thread it has to do AI+Physics+etc+etc all in single pieces and rotate, multi threads eliminate this completely.

Anyway again there is no shared memory when you refer to textures etc. Thats GPU ram and is seperate from your volatile Ram, your CPU Cache, and your HD cache. Unfortunetly it seems games do not run the way you think they run...

*oh btw edit: most / many modern Mobos have integrated network chips, even if not they use very little ram. My intel 980x has 12 threads, I challenge COD to use that. The result is I can have 5 cores/10 threads dedicated to the game at 3.3-4ghz, and have the last core run win7 + steam + networking / whatever else in the background while the rest is completely dedicated to the software.

Last edited by Heliocon; 01-26-2011 at 09:41 AM.
Reply With Quote