Chalnoth said:
All of these games are quite old, and thus much less interesting.
Have you even been reading this thread?
And they are losing out everywhere in benchmarks that were done, oh, this year with reasonably recent games. Every OpenGL benchmark that people have thrown at the X1x00 cards has put these cards 20%-40% behind where one would expect them based on their Direct3D performance.
Yes I have read this thread. So you're maintaining that NVIDIA beats ATI everywhere in OpenGL, and there are more examples for this than just Doom 3. There are the Bioware games, there are some flight sims and there's Riddick.
When I name other games that don't fit your argument you dismiss them as being "quite old" and narrow down the claim to "reasonably recent games".
Couldn't we just have a look at what features the slow games use, what features the fast games use and perhaps come to a meaningful conclusion? Like "The GeforceFX family sucks at pixel shading" instead of "... sucks at Direct3D"?
Why, what
features are so slow that they explain these results? It's not ARB_fragment_program. It's not texture memory management. It's not plain old glDrawRangeElements from app memory, which is still a great way to submit dynamic geometry.
So what do you think? VBOs, render-to-texture, multi-context support ...?
Or do all "reasonably recent games" use the more advanced asynchronous features of NVIDIA drivers (NV_fence, PBOs for data uploads) and all the advantages come from here?
After posing all these questions I'd imagine you really don't care. That's fine. But there are some people who are not satisfied with the summary headline and rather like to know what's going on, not least so we can bother ATI specifically. It's much more effective to yell "fix this feature" than it is to yell "fix everything".
Chalnoth said:
Since Riddick doesn't use shadow buffers, it doesn't use PCF. And besides, nobody benchmarks with that rendering mode enabled anyway.
I only have the demo and when I played it it used stencil shadows, and in this case it's instant victory for NVIDIA. I know there's more advanced rendering modes, and I took "soft shadows" as some application of depth textures.
Okay, sorry if that was false. Anyway, NVIDIA hardware has helpful extra transistors for both flavors of shadow rendering.
Chalnoth said:
And if games are using it, why isn't ATI optimizing for this case?
It interferes with getting the maximum bang out of another VBO usage model. Not much, but small performance deltas tend to matter a lot in the driver realm. In a nutshell, you could do "proto-VBOs" closer to the CPU, i.e. VBOs that are cheap to access (and discard) but slower to render from, and you promote them to "real VBOs" once you detect a reuse. You lose out on vertex transfer speed to the chip on the first use if you do so.
VBOs can be used in different ways, and probably ATI didn't anticipate that OpenGL developers at large would pick
that way. Then the shit hit the fan before they had time to react.
Dio said it works much better now.
Chalnoth said:
One would expect this to happen every once in a while. But until it happens in games, will anybody care?
Few.