Just wait for someone to leak the numbers. None of us here can tell whether the numbers are correct anyway.
Thanks!.
Does anyone have the GDC slides from a few years ago (2007?) that mentions numbers for culling among other things on the SPE's.
Please, PLEASE be fully aware that numbers are meaningless without a proper context to interpret them. I don't (usually) throw them around. Instead I try to use them to ask more questions
within the specified context. Now with that out of the way...
I remember that presentation but oddly enough, I couldn't find it. I *think* it's a showcase for Sony's SPU scheduling framework (Or was it a NaughtyDog slides, or an earlier GG presentation ?). Some more hints may be helpful to locate it.
In any case, here're some numbers regarding SPU usage in id's engine (and may be game):
* Jon Olick's presentation (stolen from
here):
http://s08.idav.ucdavis.edu/olick-current-and-next-generation-parallelism-in-games.pdf
1. Using 16KB groupings of joint data for SPU local store, 1/16 of 256KB local store.
2. Unit vector compression, 10bits per 2 smallest, largest computed, and extra sign/W bits.
3. Noted the RSX four vert mini cache used in primitive assembly.
4. Index decompression 6.5:1, very easy.
5. 30% increase in RSX performance doing SPU side vertex skinning.
6. 70% increase in RSX performance for shadow map generation.
7. Per vertex progressive meshes.
8. Average 60-70% of triangles do not contribute to raster output.
9. Get 10-20% improvement of balanced scene with SPU triangle culling.
10. Tight sync SPU ring buffer control via command buffer semaphores.
11. About 48M triangles per sec on 1 SPU for full pipeline.
Where memory is concerned... I feel that it is more fruitful to learn how developers use the available memory for their existing games (Instead of chasing how much Sony takes away). We all saw the results, here're the resources they used up. Timothy mentioned that they can reuse some of the memory buffers for shadow work. According to the Bioshock guys, they were able to spread their assets to both pools of memory without duplicating them; but I can't find any presentation on it.
NaughtyDog has a good 2008 slide outlining their memory layout (for Uncharted):
http://www.naughtydog.com/corporate/press/GDC 2008/UnchartedTechGDC2008.pdf
Insomniac talked about R&C memory usage in this Nov 2008 debrief:
http://www.insomniacgames.com/tech/articles/1108/files/Ratchet_and_Clank_WWS_Debrief_Feb_08.pdf
Off-topic: While I am at it (I found them anyway)...
Where physics is concerned...
Bullet Physics had a presentation in GDC 2008:
http://www.bulletphysics.com/ftp/pub/test/physics/papers/GDC08_Erwin_Coumans_ParallelPhysics.pdf
I believe It's a free library
Bullet 3D Game Multiphysics Library provides state of the art collision detection, soft body and rigid body dynamics.
Used by many game companies in AAA titles on Playstation 3, XBox 360, Nintendo Wii and PC
Modular extendible C++ design with hot-swap of most components
Optimized back-ends with multi-threaded support for Playstation 3 Cell SPU and other platforms
Discrete and continuous collision detection (CCD)
Swept collision queries
Ray casting with custom collision filtering
Generic convex support (using GJK), capsule, cylinder, cone, sphere, box and non-convex triangle meshes.
Rigid body dynamics including constraint solvers, generic constraints, ragdolls, hinge, ball-socket
Support for constraint limits and motors
Soft body support including cloth, rope and deformable
Bullet is integrated into Blender 3D and provides a Maya Plugin
Supports import and export into COLLADA 1.4 Physics format
Support for dynamic deformation of non-convex triangle meshes, by refitting the acceleration structures
Erwin referenced Insomniac's SPU Physics pipeline comparison here:
http://www.insomniacgames.com/tech/articles/0108/files/CombinedSpuPhysics.pdf
Would love to get my hands on KZ2's physics work (Bouncing debris !), and how it integrates with the rendering.