By using this site, you agree to our Privacy Policy and our Terms of Use. Close
HappySqurriel said:
MikeB said:
NJ5 said:
MikeB said:

but the SPEs will have a lot of processor time to spare.

Welcome to the reality of multi-core. Unlike with single-core, it's very hard/impossible to attain peak power usage when you're doing multi-core (for any complex application with lots of different serial workloads to process).

Can they use more later? Sure... Will there still be plenty of untapped CPU time? Most likely, yes.

Near peak performance is far harder/impossible to reach with other kinds of multi-core CPUs due to various design bottlenecks, the Cell has been designed specifcally to tackle such problems, the SPEs can produce results far more independtly and thus are able to yield superior efficiency like demonstrated by scientists in various test settings. The key is to write the game engine as asynchronous as possible to harvest the most potential.

Which is (essentially) the core of the problem, and the reason why we will never obtain good performance out of the Cell processor ...

When you are programming something that can be broken up into tons of tiny (and independant) processes like a web application developing an asynchronous application is easy because the completion of one process is not dependant on the completion of another process. A videogame is an implicitly syncronized problem being that there is a clear process flow which has to be completed in order, and if you split up a process that makes up the larger process flow each of these sub-processes has to be broken up (roughly) equally in order to prevent waste.

The Cell Processor is the round peg to the Game Engine's square hole.

 

+100!!! Awesome post.

Latency is hugely important when rendering in real time. A game rendered at 30fps only has about 3 miliseconds to render each frame.

 



Tease.