The Game Technology discussion thread *Read first post before posting*

:???:
Forgive me but the tiling it isn't a limit? Sony has eliminate just for these type of problems. The edram give advantages but limits of course.
tiling has its trade off that sure. As for Sony choice to pass on Edram I'm not sure it was a choice to begin with, Nvidia didn't had time to do something as custom as Xenos.
I think the pro in Edram are greater than the cons.
 
tiling has its trade off that sure. As for Sony choice to pass on Edram I'm not sure it was a choice to begin with, Nvidia didn't had time to do something as custom as Xenos.
I think the pro in Edram are greater than the cons.
Well not ever edram have so great pro but ok I know most of opinions tend to prefer, but personally I think just depend. Rsx a part, the lack of edram not seems casual, or for not enough time .
 
Joker your "championing" for the 360 and tone of your post sounds more "fanboy-ish" than many posts I've read on this forum. You're one of the few folks on here qualified to give a valid opinion based on your tangible experience working with both consoles... hence no need to stoop to "their" level with posts like that.

In any case... I think the quote from the capcom dev could possibly have simply been misinterpreted...?

I'd happily champion the PS3 here (within nda limits), I do so quite regularly around 360 fanboys in real life. But there is no need for it on this forum, because the words "can't" and "ps3" are never used in the same sentence except by me it would seem. The 360 fud fest though is off the hook. I think it's hard for some to come to grips with the fact that Microsoft, either by skill or dumb luck, chose really well on their hardware this round. Hardware build quality is a different matter...but the specs of what they put in there for a 2004 design are remarkable.

But fine, point taken. Yes, maybe there is something at Capcom that prevents them from doing triple buffer, or maybe the PR guy made a mistake, who knows. It's not like I'm picking on Capcom, I finished RE5 and loved it, it's the best looking game of the year to me so far, so clearly they know what they are doing. But like I've always said in the past, it's a mistake to point to one studio and extrapolate everything from that. Everyone has different needs and tech, just because studio 'a' can or can't do something doesn't mean it necessarily has any relevance to any other studio. For example, I shipped a game in 2006 with 8xaf on the 360. If you go by what is said on this forum, them you would probably believe that the 360 is gimped at AF and no games support it. That's obviously wrong. Even given that though, I would still not expect every game to use 8xaf, nor would my having enabled it on our game in any way mandate that others can as well. It's always case by case.


assurdum said:
Forgive me but the tiling it isn't a limit? Sony has eliminate just for these type of problems. The edram give advantages but limits of course.

Tiling only affects what you are rendering at a given moment, and only if you need > 10mb of rendering space. It has no relevance to the final buffers because those are all in main memory. So once you are done rendering in edram, you have to resolve it out to main ram before you can do anything with it. Some simple examples:

1) A typical 1280x720 game with a forward renderer and no msaa. To render, you need a 1280x720 4byte/pixel buffer for color, and a similar one for Z/Stencil. That puts you at 1280x720x4x2 = ~7mb. That fits easily in edam, so no need to tile. You render to edram in one pass, then copy the result to your final buffer in main memory. You are done.

2) As above, but with 2xmsaa. Memory needs have now doubled, at ~14mb. We only have 10mb or edram. We must tile. Nothing changes on our final buffers in main memory though, they stay the same. What does change is that you will do two render passes. The first one renders to a 2560x512 window in edram, which coincidentally needs 10mb of edram space for two such buffers at 4bpp (one for color, the other for Z/stencil). It's twice as wide because we are rendering in 2xmsaa. When done, the hardware will resolve that down to a 1280x512 window, and copy it to the top of our buffer in main memory. Then you do a second render pass for what remains, which in this case is everything from pixel rows 512 to 719. So you render a 2560x208 window in edram, then when done the hardware will resolve that to a 1280x208 window and copy it to the bottom of your buffer in main memory. Your buffer is now complete, do with it as you want.

In both of the above cases your buffers in main memory are all the same, and there is no pixel hit between the two. The tiling 'limit' comes from the objects that straddle the tile boundaries. In case #2, the first render pass was pixel rows 0 to 511, the second pass was pixel rows 512 to 719. For objects that are completely in one tile or the other there is no rendering cost. You have to calculate cpu side what tile they belong in and set it, but that's very cheap to do. The problem is with an object that occupies say pixel row 500 to 600. That object is in two tiles, so that object must have it's geometry processed twice. That's the performance hit from tiling, it's a vertex hit. There is a small cpu hit as well from the multiple passes, but it's mostly a vertex hit. Note that tile placement is flexible. The tiles are horizontal in my example, but you can use vertical tiles if you want.

If you are really adverse to tiling, then you can just skip the msaa hardware, have no tiling, and roll your own msaa solution. But given that the 360's msaa hardware is free, then the tiling hit on your game would have to be quite large to want to bypass hardware msaa. Most 360 games as you can see don't bypass it, since just about every 360 game has at least 2xmsaa, but I'm sure there are some that roll their own solution as the case may need.
 
But there is no need for it on this forum, because the words "can't" and "ps3" are never used in the same sentence except by me it would seem. The 360 fud fest though is off the hook.

There are/were many excellent postings about the PS3 and 360, it is only getting a bit harder to read it out from the higher signal/noise ratio.

Your and nao's discussions about the PS3 were the reason I joined this forum, certainly not wishfull thinkings of fans et al. Anyway, thank you (and everyone else of course :) ) for the explanation of your thoughts and looking forward for your analysis (be it critical or not) of the consoles you currently work on... I know I am missing nao's contribution in this part of the Beyond3D forum, but he might have lost the will to fight against so many wrong informations.

Anyway, can we please stop having the frigging same discussion in every thread how (depending what "endangered" "I prefer console X" member posts it) person x favors Y or only person Z is the true objective one, as all the others are just fanboys ready to believe everything the PR people tell them.

Cheers...
 
The Framework engine and the 360 are an odd pair. Grandmaster has seen tearing at 720p that wasn't present in the same scene at upscaled 1080p.
 
In both of the above cases your buffers in main memory are all the same, and there is no pixel hit between the two. The tiling 'limit' comes from the objects that straddle the tile boundaries. In case #2, the first render pass was pixel rows 0 to 511, the second pass was pixel rows 512 to 719. For objects that are completely in one tile or the other there is no rendering cost. You have to calculate cpu side what tile they belong in and set it, but that's very cheap to do. The problem is with an object that occupies say pixel row 500 to 600.

First of all thanks a lot for these interesting posts. I have small question about tiling on the 360. Are tiling engines using a static or dynamic approach as in, are the tiles (vertical/horizontal and tile sizes) chosen and set in stone or are there cases where the engine would chose the tiles' size and geometry based on scene geometry and complexity?

I'm trying to figure out if the cost of deciding the optimum tiles pays off in performance boost vs just choosing a static tile setup.
 
The Framework engine and the 360 are an odd pair. Grandmaster has seen tearing at 720p that wasn't present in the same scene at upscaled 1080p.


It's the other way around. More tearing noticeable with the upscale.
 
If you looked back farther in the FPS analysis thread, you'd find several reports of prolific 1080p tearing compared to little on 720p.

But ok.
 
First of all thanks a lot for these interesting posts. I have small question about tiling on the 360. Are tiling engines using a static or dynamic approach as in, are the tiles (vertical/horizontal and tile sizes) chosen and set in stone or are there cases where the engine would chose the tiles' size and geometry based on scene geometry and complexity?

I'm trying to figure out if the cost of deciding the optimum tiles pays off in performance boost vs just choosing a static tile setup.

There's nothing stopping you from rendering every frame differently, but it would have to be a pretty contrived situation to be worth the hassle. Some games that have predictable complexity in their frames will statically tweak the tiling pattern --like if there is almost always an empty sky at the top of the screen. Most games have a pretty even distribution of complexity, so it make sense to just do the default.
 
If you looked back farther in the FPS analysis thread, you'd find several reports of prolific 1080p tearing compared to little on 720p.

But ok.

1080p clearly tears more than 720p, but the fact that sometimes I see tearing at the same sequence in 720p but not 1080p suggests that the Capcom issue is more complicated than we previously thought.
 
Just played the PS3 demo. Ok, so I admit I get aggravated when studio after studio gets thrown under the bus as having done a bad port :) But I won't post why it's hard to do a heavy overdraw game at 60fps on PS3. Instead, I'll play the other side and assume it's a bad port like everyone else. So:

1) we need 60 fps
2) we need lots of overdraw
3) we need the overdraw bits to maintain their detail
4) we need the overdraw bits to linger on screen a long time with said detail

Given that, how do you guys propose to solve the above scenario on Bayonetta even though the 360 has an order of magnitude more bandwidth to the frame buffer for transparencies compared to the PS3? I normally wouldn't ask, but since it's already been binned as a bad port with such confidence, that means I presume you guys know of a solution. I'm sure you know that Edge wouldn't help here, and that you can't use low res buffers for transparencies and still maintain detail. So how would you fix this bad port?
 
Well, they've already reduced the texture resolution by a lot... why not just use lower res buffers? ;)
 
Well, they've already reduced the texture resolution by a lot... why not just use lower res buffers? ;)
I think what he was getting at is in order for everyone to think that it was a good port everything would be equal including frame rate, texture quality so on and so forth. The easiest solution would be to lower the res of the textures on the 360 and lock both games at 30fps or lower the resolution of both version and lock them at whatever framerate you are able to get. The funny thing about doing that is I wonder which version would get blamed for holding the other one back.
 
Last edited by a moderator:
1) we need 60 fps
2) we need lots of overdraw
3) we need the overdraw bits to maintain their detail
4) we need the overdraw bits to linger on screen a long time with said detail

Given that, how do you guys propose to solve the above scenario on Bayonetta even though the 360 has an order of magnitude more bandwidth to the frame buffer for transparencies compared to the PS3? I normally wouldn't ask, but since it's already been binned as a bad port with such confidence, that means I presume you guys know of a solution. I'm sure you know that Edge wouldn't help here, and that you can't use low res buffers for transparencies and still maintain detail. So how would you fix this bad port?

As you are programming the PS3 it would be interesting for me to know what you would do if you had this tasks to solve, if you were challenged with such a scenario...which compromise would you prefer/make!?
 
Back
Top