Thursday, April 19, 2012

Multicore

If you're serious about the scale, I suggest that you need to support four cores, or more.|||DeadMG|||support and scalability is a big YES|||Perhaps there could be 3 main threads: Pathfinding, Simulation, and Rendering. I don't know what a 4th thread would do, though.|||Mooilo|||Spooky|||Ah, so dividing simulation up into projectiles, unit turret aiming, etc.?|||Per unit.

You get a bunch of threads, as many as you like, then you post tasks in a queue. The tasks can be anything you like as long as it can perform asynchronously (and not rendering because D3D9 doesn't support multithread rendering). In this case, you can do 20 projectiles at once, or 1 projectile 1 turret aim 1 whatever. A GPU operates essentially in this fashion, with unified shader architecture. In this case, a shader can do any task, and it dishes out pixels and verticies that need shading to any idle shader. That's how GPUs can achieve great performance on huge shader numbers.|||Perhaps use GPU computing? Although I don't think that will happen unless 1 method can be used across all GPUs (last time I checked, Nvidia and ATI have different methods of GPU computing).|||X-Cubed|||Besides, GPU computing doesn't work, because the operations are still mostly serial. For example, you can only make D3D calls on a single thread, so you'd need a CPU to run that thread. Plus, as Spooky said, you'd need a second GPU, and there aren't many multi-GPU systems available.|||Mooilo

No comments:

Post a Comment