Comments on: Tips for High Performance Art Very nice :) Specifically when it comes to LODs and pixel shader performance though, either the engine or the artists should be adjusting their materials in their LOD levels. No reason to run normal mapping code on objects to far away to even see the effects. One of many other thing worth mentioning in your next post, Texture size. The GPU texture pool on the consoles is not the monstrous 2gb you see on newer GPUs. So don't make 1024x1024 textures for a character's eyeball (seen it). Generally speaking a game engine has a texture streaming system. However, the way a mipchain functions on hardware requires you to allocate the entire mipchain ahead of time *. So the programmer has two options: A) Allocate all the memory upfront that the mipchain *could* end up needing and slowly fill in the texture data as the player gets closer to the object. B) Allocate only the sections of the mipchain needed at that object's distance from the camera. However, A is pretty much what everyone is going to pick. Because, if later you got closer to the object and a higher resolution mip level were required, the entire chain would need to be thrown away and completely reallocated *. * There is a special exception for the Xbox 360, as it allows you to treat mip 0 different from the rest of the chain and allocate it at a later time. I wish every GPU had that. Very nice :)

Specifically when it comes to LODs and pixel shader performance though, either the engine or the artists should be adjusting their materials in their LOD levels. No reason to run normal mapping code on objects to far away to even see the effects.

One of many other thing worth mentioning in your next post,

Texture size. The GPU texture pool on the consoles is not the monstrous 2gb you see on newer GPUs. So don’t make 1024×1024 textures for a character’s eyeball (seen it). Generally speaking a game engine has a texture streaming system. However, the way a mipchain functions on hardware requires you to allocate the entire mipchain ahead of time *.

So the programmer has two options:

A) Allocate all the memory upfront that the mipchain *could* end up needing and slowly fill in the texture data as the player gets closer to the object.
B) Allocate only the sections of the mipchain needed at that object’s distance from the camera.

However, A is pretty much what everyone is going to pick. Because, if later you got closer to the object and a higher resolution mip level were required, the entire chain would need to be thrown away and completely reallocated *.

* There is a special exception for the Xbox 360, as it allows you to treat mip 0 different from the rest of the chain and allocate it at a later time. I wish every GPU had that.

]]>
By: Tweets that mention Tips for High Performance Art » #AltDevBlogADay -- Topsy.com/2011/02/21/tips-for-high-performance-art/#comment-899 Tweets that mention Tips for High Performance Art » #AltDevBlogADay -- Topsy.com Mon, 21 Feb 2011 07:40:28 +0000 [...]

]]>