http://www.watch.impress.co.jp/game/docs/20060426/3dhd.htm
Zenji Nishikawa has uploaded the latest issue of his article series about 3D game technologies. The subject of this article is the concern about sub-HD rendering in the next-gen consoles. Since most issues explained by Nishikawa in the article have already been discussed in this forum I make a summary of them. It also contains anonymous developers' quotes, all of which I translate here.
-----------------------------------------------------------------------------
Zenji Nishikawa has uploaded the latest issue of his article series about 3D game technologies. The subject of this article is the concern about sub-HD rendering in the next-gen consoles. Since most issues explained by Nishikawa in the article have already been discussed in this forum I make a summary of them. It also contains anonymous developers' quotes, all of which I translate here.
-----------------------------------------------------------------------------
- The RAM bandwidth of Xbox 360 GPU is almost equal to RADEON X1600 XT and shared with CPU by UMA.
- Without the eDRAM pixel processor doing 4xMSAA, the fillrate of the GPU core itself is 4 billion texel/sec and almost equal to GeForce 7600 GT.
- While the Xbox 360 has a 3.5 times broader bandwidth than the original Xbox, 720p pixels require a 3 times broader memory bandwidth. It leaves only 0.5 times headroom which is insufficient for multiple texture lookups by complex shaders.
- eDRAM is implemented to mitigate the impact of the low memory bandwidth. But FP10 + 2xMSAA requires Predicated Tiling.
- Tile rendering has many performance demerits.
- In games with many chracters like N3 the cost of overlapped geometry grows large unless LOD is implemented.
- Lens effect, refraction, HDR effects such as bloom and glare, and other frame buffer filtering cause overlapped drawing near tile boundaries.
- Objects that cross boundaries can't use the cache efficiently.
- CPU L2 cache locking is practically unusable.
- Since textures are stored in the shared 512MB RAM, regardless of the eDRAM size or use of tile rendering, texture lookup consumes the shared memory bandwidth. Normal mapping and shadow mapping require many texture lookups.
- So the last resort is to use Display Controller to upscale the image without using tile rendering, for example rendering FP10-32bit / 960*540 / 2xMSAA / 32bit Z (8MB).
Developer A: Even 2xMSAA is not required by Microsoft anymore.
Developer B: FP10-32bit / 880x720 / 32bit Z / 2xMSAA (9.9MB) rendered to look right when upscaled to 16:9 is also possible.
Developer C: You can render it in a certain low-res then to display it you can create a 720p frame by your own shader. In converting the original low-res frame into a 720p frame by the shader you can do color dithering, which may result in smooth color expression or alleviation of the resolution deficiency in FP10.
Developer D: At any rate I want to reduce jaggies. Since the eDRAM pixel processor is penalty-free upto 4xMSAA, it will be interesting if it's fully exploited. Though it becomes 640x480 with 4xMSAA and FP10-32bit if it's not tile-rendered, aliasing-free images will be totally different from what we have seen in older games.
Developer E: If you think HDR rendering as a premise, PS3 is worse than Xbox 360.
- Since PS3 doesn't support FP10-32bit buffer, if FP16-64bit HDR is used it requires twice the bandwidth of Xbox 360 but PS3 doesn't have eDRAM like Xbox 360 to mitigate the impact. It's possible that pseudo-HDR employed in Xbox and DX8 that use a conventional 32bit buffer (8bit int per ARGB) is often used in PS3. Besides the display controller may be used to upscale sub-HD images to a HD resolution.
Developer F: As for resolution I think if it's modest it's OK. Since RSX in the PS3 is a shader monster, adding more information to a pixel by executing ultra-advanced shader and then antialiasing it completely must make it look more real. I'd like to give priority to the reality charged in one pixel rather than to HD resolution.