*rename* Balancing Work between Xenon & Xenos

If I understand it correctly, stuff like animation is done on the CPU. If you tesselate, you can work with less detailed geometry during the animation stage. This saves CPU cycles. The first part of the rendering pipeline (you'd typically do tesselation after the initial setup phase I think, if I look at the DirectX scheme for tesselation) could also be simpler. On the 360's graphics chip, that would leave more power for the shading part of the pipeline. You are correct though that this part of the pipeline would be more demanding with tesselation enabled - assuming of course you're not using tesselation only to save on compexity right up to the point where you start shading, and only then tesselate in the amount of detail that brings the complexity back to the level you were initially planning to render in the first place before using tesselation, because in that case the demands on shading would be the same as before - you just optimised the rendering to leave more room for other stuff.

HUH?!?!?!?

How does the use of the tesselator take any load whatsoever off the cpu/gpu?

By tesselating your geometric meshes, aren't you in effect creating more polygons?... More polys that will need shading?

Surely the tesselator will increase GPU vertex load more than anything, hence maybe the reason it isn't used much...?

You really need to explain how using the tesselator can help with anything as as far as I understand how tesselation works, it would likely decrease performance overall.
 
If I understand it correctly, stuff like animation is done on the CPU. If you tesselate, you can work with less detailed geometry during the animation stage. This saves CPU cycles. The first part of the rendering pipeline (you'd typically do tesselation after the initial setup phase I think, if I look at the DirectX scheme for tesselation) could also be simpler. On the 360's graphics chip, that would leave more power for the shading part of the pipeline. You are correct though that this part of the pipeline would be more demanding with tesselation enabled - assuming of course you're not using tesselation only to save on compexity right up to the point where you start shading, and only then tesselate in the amount of detail that brings the complexity back to the level you were initially planning to render in the first place before using tesselation, because in that case the demands on shading would be the same as before - you just optimised the rendering to leave more room for other stuff.

Aaah, to be honest I've never heard anyone speak about tesselation with that sort of implimentation in mind. If that's the case then it makes sense to use tesselation for those kinds of performance imrovements.

I would on the other hand, like to see the end result of such an execise as you've stated... As I'd imagine a less complex (geometry-wise) model in motion might simply look a bit janky :-S And with fixed function tesselation h/w (i.e. not as flexible) I'm unsure how well a programmer could tweak the mesh tesselation to ensure that the end result is looks "as good" (or "good enough") when compared with the same animation done sans the tesselation.

Edit: Re-reading your post... I may have misunderstood how tesselation you described would be performed. Would there be a "percieved" difference with/without tesselation in the end result?
 
Last edited by a moderator:
This videos show how tesselation can be used to improve performance; there are two videos, one is based on the HD4800 and the other in the HD 2000 line of ATI cards.

HD4800
http://download-developer.amd.com/GPU/videos/FroblinsTechnology-H.264.253MB.mov

HD2000
http://www2.ati.com/multimedia/radeonhd/Tessellation-V1.0.zip
While terrain tessellation shown is nice and has been used in games, no studio has admitted yet to using it for character/object models on the 360 which seemed to be the exactly what AMD/ATI intended it to be used for. So while those are some nice tech demos but much like many other demos by both NVIDIA and ATI, they don't mean much if no one ever uses it...at least for games. Nothing against you of course.
 
While terrain tessellation shown is nice and has been used in games, no studio has admitted yet to using it for character/object models on the 360 which seemed to be the exactly what AMD/ATI intended it to be used for. So while those are some nice tech demos but much like many other demos by both NVIDIA and ATI, they don't mean much if no one ever uses it...at least for games. Nothing against you of course.


Maybe tesellation will become popular with the arrival of DX11, why not use a tool that helps you make better looking games.
 
I suppose what you can take from this is that there aren't many interesting graphical things the xcpu can help with. After all, it's kind of a weak CPU so there probably aren't many spare cycles to screw around with.
 
I suppose what you can take from this is that there aren't many interesting graphical things the xcpu can help with. After all, it's kind of a weak CPU so there probably aren't many spare cycles to screw around with.

I don't think the 360's cpu is as weak as your suggesting..
 
Last edited by a moderator:
While terrain tessellation shown is nice and has been used in games, no studio has admitted yet to using it for character/object models on the 360 which seemed to be the exactly what AMD/ATI intended it to be used for. So while those are some nice tech demos but much like many other demos by both NVIDIA and ATI, they don't mean much if no one ever uses it...at least for games. Nothing against you of course.

Perhaps Bungie is using Tessellation on the character and object models for Halo Reach.The capability is there and it would be silly to not take advantage of it...We shall on december 12th, when Bungie shows off the entire opening sequence of Halo Reach.Geoff K from G4 TV has stated that its entirely in-game and that we shall be pleased with the length of it... :D
 
How the Xbox GPU can help the Xbox CPU is a much more interesting question :)
Something like texture compression for example? ;)

I've another question by the way, I remember Joker saying that while doing post processing on xenos you end up with "free cycles because your texture fetch bound". Could someone explain in a simple fashion what is going on during post processing?
 
With post-processing, you're sampling the image taking some amount of cycles (texture fetch/lookup/sample). The ALUs are fully orthogonal to the texture processors/addressing units and can do some operations in parallel (especially if the post-process is light on ALU usage).

e.g. Gears 2 does some fog calculations during SSAO IIRC.

edit: when they do the downsample pass of AO.
 
While terrain tessellation shown is nice and has been used in games, no studio has admitted yet to using it for character/object models on the 360 which seemed to be the exactly what AMD/ATI intended it to be used for. So while those are some nice tech demos but much like many other demos by both NVIDIA and ATI, they don't mean much if no one ever uses it...at least for games. Nothing against you of course.

yes but thats not only x360 issue isnt it? on pc tesselation is also hardly used afaik, maybe it needs some time, maybe it wil turn out as a feature with lot of promises but fail hardly who knows.
 
yes but thats not only x360 issue isnt it? on pc tesselation is also hardly used afaik, maybe it needs some time, maybe it wil turn out as a feature with lot of promises but fail hardly who knows.

And I'm beginning to think that this is the case... but then again, there could also have been some issue with the Xenos' tessalator itself which meant that it's use would present an unfavourable performance trade-off. Then again it could simply be also that the majority of devs writing multiplatform games chose not to use it as there was no equivalent for it on the PS3.

I can understand it's lack of use in multiplatform titles, however in 360 exclusives... not so much.

Rather puzzling anyways... however i don't think anyone is going to openly come out and state a reason why until next gen-begins.
 
e.g. Gears 2 does some fog calculations during SSAO IIRC.

edit: when they do the downsample pass of AO.
We are also calculating fog during post process filtering pass. Fog doesn't need texture fetches and post process is very much tfetch bound, so basically all the ALU-ops you can move to the post process are free (until there are too many of course).

Graphics programmers try to achieve the best tex/alu usage in every point of the scene rendering. Sometimes this can even mean that you want to use multiple simultaneous render targets to perform multiple separate operations in parallel (if you need to do two operations in a row and one of them is heavily alu bound and the other heavily tex bound). You can naturally also be fill rate bound and vertex setup bound too. When reducing the known bottleneck is not possible, it's best to increase the work in other areas (create a more balanced workload). On Xbox you naturally cant be separately vertex/pixel alu bound as the GPU has unified shaders. On PS3 you have to take care of vertex/pixel shader balancing as well.
 
Back
Top