did AMD have AA quality removed and reduced for GE titles?

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

blastingcap

Diamond Member
Sep 16, 2010
6,654
5
76
BlastingCap, it's hilarious to read you writing about excessive use of Tesselation and then looking at the quote in your signature :D

Haha I loved BoFox's quote so much that I had to use it in my signature block. I don't mind tessellating boobs. That would be a good use of tessellation, as opposed to concrete jerseys. :)
 
Last edited:

0___________0

Senior member
May 5, 2012
284
0
0
Because you're wrong and it's not being culled, the water grid is present in all modes and only has something to do with tessellation when you get close to it and you have it enabled.

Lol, the presence of the "grid" is irrelevant. The mesh is only rendered in wireframe because wireframe disables culling. That's why TR used it; the fact that it's there doesn't matter. The LOD'ing is irrelevant as well, since the culled water mesh (Which I showed is being culled with the screenshots) will never be tessellated in the game, regardless of your position. Unless you only play your games in wireframe or underneath the map...

There is no performance hit from it, there's not a lick of evidence, just crap being posted on the internet by clueless people.

Yl6d0k4.jpg


ACTS3aJ.jpg


There's overall tessellation performance, negligible change. The CE does it very well.


That mesh is absolutely culled, it's such a basic engine feature I don't get why I even have to explain it. Once again, anyone who disagrees is free to provide some evidence, it's been 2 years and still not one FRAPS comparison, not one person has been able to prove it with the SDK; because you're wrong and it can't be done. There's irrefutable evidence that it's being culled and that its presence doesn't matter, but the tin foil hat club keeps repeating their mindless babble and never comes up with anything, just wrong opinions.
 

Imouto

Golden Member
Jul 6, 2011
1,241
2
81
The performance hit from the ocean below can't be measured because it's always there! And it's animated on top of that!

And about the tess performance from your first screen I don't know if you noticed but it's a 4% performance drop when adding 9% more polygons.
 

0___________0

Senior member
May 5, 2012
284
0
0
The performance hit from the ocean below can't be measured because it's always there! And it's animated on top of that!

It's culled, the tessellation units don't actually do anything. Like I said, its presence is completely irrelevant. You're also wrong about not being able to measure it, you can remove the tessellation from the mesh/the mesh itself, so that's not even remotely a valid excuse. The mesh itself has no significant impact on performance, I don't know why you think that matters. Crysis 2 isn't the first game to run a water mesh under a map, and it won't be the last.

And about the tess performance from your first screen I don't know if you noticed but it's a 4% performance drop when adding 9% more polygons.
Since you don't seem to know, a) That stats command doesn't report full poly count for all tessellated objects, that's just the change in the ocean mesh in that shot, it doesn't include anything else. b) It's wireframe mode in the editor which gets much worse performance.
 

Imouto

Golden Member
Jul 6, 2011
1,241
2
81
You're confusing the geometry and the rasterization stages or we are not talking about the same thing. If you have an object in a scene its geometry is always processed.

If anything, the tessellation units always do their work before the culling is done since, you know, that geometry is needed in first place.
 

0___________0

Senior member
May 5, 2012
284
0
0
You're confusing the geometry and the rasterization stages or we are not talking about the same thing. If you have an object in a scene its geometry is always processed.

If anything, the tessellation units always do their work before the culling is done since, you know, that geometry is needed in first place.

It's culled before the draw call is made, the engine can be told to identify geometry linked to specific meshes as occlusion proxies. It prevents the mesh(es) behind it from being rendered, there's never a draw call made to tessellate the ocean mesh; except in wireframe mode, because culling is disabled. You're wong, it can be culled since it isn't actually needed.

I've thoroughly proven that the performance impact of tessellation is minor, and everyone else has yet to prove that the mesh is being tessellated. So unless someone is going to come up with some evidence that it is, this is just beating a dead horse.
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,002
126
Who would have guessed that having a huge body of visible water right behind you and adjusting its graphics settings would have an impact on FPS?!
How is water right behind you "visible"? If it's not in the viewport then it's not visible.

You told us the invisible water is being culled. Now you appear to be saying if it's behind you, it's not culled?

So which is it? Is invisible water culled or not?

It is being culled, there isn't this "partially" or not "completely" crap, as if that even makes sense... If culling wasn't working properly the game would be unplayable. That mesh is only rendered in wireframe mode. It's fully culled when playing the game, otherwise there would be a measurable difference in FPS from it being tessellated.
If it was being culled then the water setting would have no effect on performance when no water is visible.
 

0___________0

Senior member
May 5, 2012
284
0
0
How is water right behind you "visible"? If it's not in the viewport then it's not visible.

That's only correct relative to which way you're facing, it's a visible asset, it can be seen by walking up to and looking in that direction. It's visible because it can be seen, so changing graphics settings for water is going to have an affect. Make sense?

By visible I obviously mean it's possible to see it. The mesh under the map is never visible, there is a chunk that is visible from multiple vantage points in most levels. Not to mention the water elsewhere that isn't part of the ocean.

Convenient how you ignore everything except for that which you can use without context and twist. The whole problem is you aren't looking for what's right, just what you want and to win an argument on the internet. You could have just asked for clarification.

You told us the invisible water is being culled. Now you appear to be saying if it's behind you, it's not culled?

You don't know what culling is or how it works, do you?

So which is it? Is invisible water culled or not?

Read my post right above yours.

EDIT: Maybe I misunderstood your first post. It's still wrong in the assumption that because changing water settings where you can't immediately see any water means there's no culling.

There's actually a post by an engine dev on their forums that will say the same thing I have regarding culling. Perhaps you should take your infinite knowledge there and argue with them.
 
Last edited:

Imouto

Golden Member
Jul 6, 2011
1,241
2
81
It's culled before the draw call is made, the engine can be told to identify geometry linked to specific meshes as occlusion proxies. It prevents the mesh(es) behind it from being rendered, there's never a draw call made to tessellate the ocean mesh; except in wireframe mode, because culling is disabled. You're wong, it can be culled since it isn't actually needed.

You're very confused and you're not comprehending what I'm saying at all. Draw calls ain't used for geometry calculations and I'm not talking about rendering at all. If it's not in the screen of course it's not rendered but the geometry is still there and the GPU have to process it. Culling an object doesn't make it disappear, it's creeping out there waiting to be rendered.

I've thoroughly proven that the performance impact of tessellation is minor, and everyone else has yet to prove that the mesh is being tessellated. So unless someone is going to come up with some evidence that it is, this is just beating a dead horse.

I didn't say even once that the ocean below was being tessellated or rendered. I said that the primitive geometry is always there, being animated and taking GPU cycles. If you have a GPU that's really good at dealing with insane amounts of useless geometry there's nothing better to distance from your competition than using it. Everyone said and is saying that, you're the confused one.

The ocean and the extreme tessellation in C2 was a nice move from NV making AMD look terribad and creating an artificial need of geometry calculation prowess. An useless deviation that could have been avoided and put that effort into making other stuff more needed. Artificial need that went away as soon as it came with Cayman doing perfectly fine after that and aging better than Fermi.
 

Imouto

Golden Member
Jul 6, 2011
1,241
2
81
You don't know what culling is or how it works, do you?

In fact it is you who doesn't seem to know how culling works and the different techniques to get it done.

It is being culled, there isn't this "partially" or not "completely" crap, as if that even makes sense...

You can partially cull an object using z-culling. As it looks like you just wanted to jump into a forum thread and make an argument out of nothing.
 

0___________0

Senior member
May 5, 2012
284
0
0
You can render something that is occluded. That mesh isn't impacting anything, all the tools you need to prove otherwise are at your disposal.

I didn't say even once that the ocean below was being tessellated or rendered. I said that the primitive geometry is always there, being animated and taking GPU cycles.

It's not an overly large or complex mesh. There might even be more water stretching out that you can see than there is under the map.

I didn't say even once that the ocean below was being tessellated or rendered. I said that the primitive geometry is always there, being animated and taking GPU cycles.

This is an outright lie, no one besides you has mentioned the mesh itself as being the problem, everyone says tessellation. The TR article focused solely on tessellation as well. It's also not true, here's a DX9 benchmark: http://www.techspot.com/review/379-crysis-2-performance/page4.html You'll notice AMD's relative position is about the same as in C3, a GE title; CE3 has always run better on nVidia. The only issue is CF not working properly. 560 Ti in between the 6950 and 6970. That mesh isn't destroying AMD cards like you claim.



Here's the mod SDK, remove that mesh and report back with your results. Show us the 10 fold increase in FPS on AMD cards. If you're not going to actually use any evidence or facts for that matter, I think this pointless.

http://www.crydev.net/dm_eds/download_detail.php?id=3
 
Last edited:

0___________0

Senior member
May 5, 2012
284
0
0
In fact it is you who doesn't seem to know how culling works and the different techniques to get it done.



You can partially cull an object using z-culling. As it looks like you just wanted to jump into a forum thread and make an argument out of nothing.

I never said you couldn't, just that it didn't make sense for something that is fully occluded, there's no reason for part of it to be left out.

You seem to have some sort of an issue with me, and since you don't ever use that stuff called evidence, I think I'll employ the ignore list feature. Fire away.
 

Imouto

Golden Member
Jul 6, 2011
1,241
2
81
It's not an overly large or complex mesh. There might even be more water stretching out that you can see than there is under the map.

It is a darn large mesh as you shown just a moment ago.

a) That stats command doesn't report full poly count for all tessellated objects, that's just the change in the ocean mesh in that shot, it doesn't include anything else. b)

So you're telling me that a 650k poly mesh isn't large? To put it in perspective Elizabeth from Bioshock Infinite is a combined 20k poly mesh.

This is an outright lie, no one besides you has mentioned the mesh itself as being the problem, everyone says tessellation. The TR article focused solely on tessellation as well. It's also not true, here's a DX9 benchmark: http://www.techspot.com/review/379-crysis-2-performance/page4.html You'll notice AMD's relative position is about the same as in C3, a GE title; CE3 has always run better on nVidia. The only issue is CF not working properly. 560 Ti in between the 6950 and 6970. That mesh isn't destroying AMD cards like you claim.

The tessellation is and always been the problem! The vast ocean below the level is just another example of useless geometry from this game. As I said before older AMD cards aged better than Fermi cards since no game after Crysis 2 used such crazy amounts of geometry.

Here's the mod SDK, remove that mesh and report back with your results. Show us the 10 fold increase in FPS on AMD cards. If you're not going to actually use any evidence or facts for that matter, I think this pointless.

http://www.crydev.net/dm_eds/download_detail.php?id=3

I consider all Crysis games crap so I never bought them. I actually like to play instead of looking at pretty graphics. I didn't buy it even at 5€ because I considered it a ripoff. If you can provide a key code for it you're very welcome.

By that last sentence I bet you didn't run these tests on an 6XXX or older AMD card. So whatever.
 

Imouto

Golden Member
Jul 6, 2011
1,241
2
81
I never said you couldn't, just that it didn't make sense for something that is fully occluded, there's no reason for part of it to be left out.

You said it as it couldn't be done because "as if that even makes sense".

You seem to have some sort of an issue with me, and since you don't ever use that stuff called evidence, I think I'll employ the ignore list feature. Fire away.

I have no issue with you, you just don't want to acknowledge that the problem with Crysis 2 is the insane amount of useless geometry and you don't know what culling is for, full stop.
 

jj109

Senior member
Dec 17, 2013
391
59
91

taserbro

Senior member
Jun 3, 2010
216
0
76
In fact it is you who doesn't seem to know how culling works and the different techniques to get it done.



You can partially cull an object using z-culling. As it looks like you just wanted to jump into a forum thread and make an argument out of nothing.

Z-culling happens at the hardware pixel rendering pipeline level and saves little amount of throughput relevant here if you're discussing performance lost from geometric complexity of hidden objects. The more relevant culling methods in engine are frustum and occlusion culling.

I'm no expert with cryengine but some engines are able to determine culling methods among other rendering options by object hierarchy/category. If one object happens to not play well with one or the other, it can simply not have that method applied.

From what little I've read about that huge hidden body of water underground but still affecting performance when it's visible but not currently in view, it sounds like exactly what happened and their decision might possibly be due to using some new physics based water simulation technique that didn't play well at the time.

Either way, if anyone wants to insist that there was malicious intent involved, it would be trivial for to prove it as the sdk is available.
 

Imouto

Golden Member
Jul 6, 2011
1,241
2
81
http://msdn.microsoft.com/en-us/library/windows/desktop/ff476340(v=vs.85).aspx

Care to elaborate on why you think tessellation can't be culled?

It can't be culled because you don't call a LOD setting "culling". Tessellation is usually set on a distance basis and it's done before the culling process in the rasterizing stage.

You can find several situations for this.

If the object to be tessellated is far away it won't be tessellated or will be tessellated relative to distance i.e closer = greater factor. That's what it is meant for. After that stage several culling processes take place based on the camera, clipping distance and others depending on the game. Culling is always done after tessellation because you need to calculate all the geometry before telling if you can see a pixel or not in the rasterizing stage. Even when you're rasterizing the culling is done in order because of alpha and stuff.

You can read more about culling here and check why it doesn't affect geometry at all.
 

Imouto

Golden Member
Jul 6, 2011
1,241
2
81
Z-culling happens at the hardware pixel rendering pipeline level and saves little amount of throughput relevant here if you're discussing performance lost from geometric complexity of hidden objects. The more relevant culling methods in engine are frustum and occlusion culling.

I just told him a technique to partially cull an object like backface culling, not relevant to geometric performance. Anyway occlusion culling = z-culling.

I'm no expert with cryengine but some engines are able to determine culling methods among other rendering options by object hierarchy/category. If one object happens to not play well with one or the other, it can simply not have that method applied.

I'm no expert either. I work with 3D software but game stuff just come up from time to time.

From what little I've read about that huge hidden body of water underground but still affecting performance when it's visible but not currently in view, it sounds like exactly what happened and their decision might possibly be due to using some new physics based water simulation technique that didn't play well at the time.

It's what I'm saying all along but he doesn't seem to understand it at all. The biggest performance hit comes from tessellation. I'm guessing that the huge ocean below the level was just a measure to not drop the geometry too much even if the tessellation was turned off or reduced with drivers.
 

taserbro

Senior member
Jun 3, 2010
216
0
76
I just told him a technique to partially cull an object like backface culling, not relevant to geometric performance. Anyway occlusion culling = z-culling.

No, I mean the hardware z-culling that I thought you were referring to when you said it can cull parts of an object as in not raster hidden pixels happens after hsr and is meant to solve a different kind of bottleneck altogether. Occlusion culling can't decide to not render part of an object or surface either and backface culling is a given but doesn't help you in this case because the problem in question is the water that's always below you facing up anyway.

I'm no expert either. I work with 3D software but game stuff just come up from time to time.

It's what I'm saying all along but he doesn't seem to understand it at all. The biggest performance hit comes from tessellation. I'm guessing that the huge ocean below the level was just a measure to not drop the geometry too much even if the tessellation was turned off or reduced with drivers.

I don't mean to butt in on someone else's argument but he does make a valid point in that those who insinuate that the tessellation was increased to a high level purely to make amd hardware look bad only need to have the hardware in question to prove or disprove their argument beyond a shadow of the doubt.

I personally remain unconvinced that there is any amount of foul play involved not just because of the discrepancies like the dx9 version yielding no different results but also because this scenario is easily explained with the new physics based interactive water simulation not playing well with some of the engine's culling methods, which fits the puzzle perfectly. Don't blame on malice what can be explained with incompetence or so they say...