View Single Post
  #37  
Old 02-23-2011, 06:29 PM
Les Les is offline
Approved Member
 
Join Date: Feb 2009
Posts: 566
Default

I'm pretty sure Luthier wrote somewhere that the new engine does or can use multiple cores, but is only utilizing two at the moment. Don't quote me on that though, I just remember reading it here somewhere and getting the impression their going multi-core wasn't going to improve things much. It does still mean though (if the new angine uses anything more than one core) that using a quad-core processor would be better than using a dual core.

In regards to multi-core programming, I'm no expert either, so apart from the obvious thing of having your operating system or other applications running on one core while IL-2 runs on another (or others), I can only go by what others have said about the difficulty of programming an application to use multiple cores. And, apparently, for games, it's not that easy.

My basic understanding of it is that the dynamic, inter-related nature of the information that has to be processed when playing a game is different to the sort of straightforward processing that's required when doing something that just requires breaking up one task into chunks and processing them separately. So, you can't just do something like set a core to work out what the planes are doing and another to work out the weather, as they have to communicate their respective states to each other before they know what they should do next. Whereas if the processing is done in a more traditional, linear way, whereby the data doesnt have to be split off to separate cores then recompiled, the programming can also be more straightforward, incorporating that interconnectedness of elements, at the cost of your application remaining dependent on the sheer speed of your processor core/s, not their number.

I hope that makes sense, and that it's not all totally wrong, it's just my limited understanding of it, for whatever that's worth.

And at the risk of stretching things too far, while I'm here. There's a term called 'parallel processing' that's sort of related to this. In crude terms, having all cores of your CPU working on one task is parallel processing. But when it comes to parallel processing, your GPU in your video card is actually something in the order of a hundred times faster at parallel processing than any CPU. NVidia has been pushing this aspect of their video-cards lately, calling them General Purpose GPU's (GPGPU's). And with selected applications, ie video-rendering, it is indeed faster to have your video-card doing the parallel processing than your CPU's. The difference, again, though, is that parallel processing requires the application's code to be written in such a way that the data you're dealing with can be split, processed and recompiled, and that's generally not how game-engine code is written. So, in the end, and to put it very simplistically, it's sort of like, the GPU and CPU hardware has been advanced to the point where they can do things that weren't possible before, but the programming tools to take advantage of them haven't.

Again, sorry to all the experts who actually know about this stuff, was just offering my opinion.
Reply With Quote