What about games that run "better" with Mantle? Clearly that's the only real reason to do a Mantle implementation to start with, but where do you as a user draw a line between whether you "feel" a developer did a "good/optimal" job on the DX path vs. the Mantle one? My point is that vendor-specific optimizations have always been a grey area and they've always been in play. Gameworks changes nothing there.
Yes, and it's up to them whether they deem GW on other vendors as an "optimal enough" implementation to enable/ship. If they don't they have a few options... 1) disable GW stuff if not on NVIDIA (a la. MSAA in Batman; that went over well
), 2) implement a completely different path (lots of opportunity for whining about differences between paths) or 3) allow GW to work everywhere; optionally let the user disable the relevant effects.
Developer time is limited and any time spent on Mantle takes away from time spent optimizing on other platforms. Trust me, it's already the case that IHVs give lists of things to improve in games and developers absolutely do not get to all of it... or in some cases any of it.
No it doesn't... Gameworks is just a library that happens to use DirectX. It's not some nefarious "engine layer" or something that you have to sign over your soul to use and henceforth all of your code gets sent to NVIDIA for inspection before being run on any piece of hardware
Would you prefer if the developer simply disables the functionality entirely if you're not on NVIDIA, a la. Batman AA support?
But that's the crux of the matter - game developers *always* evaluate whether something runs "well enough" and decide to ship it or not. Don't think for a second that there's some way to just generally use the API that is optimal across all IHVs. Only some engines/games do significant optimization for >1 vendor. Few do it for >2.
If you think IHVs require access to C++ source code to see how an application is using the GPU - in detail - I've got some news for you
How would driver optimizations even be possible if this was the case?
That's fine, ultimately what you are supposed to judge is the final product. But if the GW game runs great on AMD or Intel too (or one of those two... omg what now
) - regardless of whether it is using a custom path or the stock GW DX one - isn't that fine?
i.e. whether or not something uses GW is irrelevant to you in the end. See if a game performs acceptable for you on whatever hardware you want it to run on and if not, don't buy it. Easy. Whether it uses GW, "super sekrit custom code for Vendor A", intentionally sabotages performance on Vendor B, etc. is at best part of the explanation for bad performance, not something to be evaluated in isolation. This is how it always has been and always should be. Let the game developers deal with the IHV relationships and you just judge the final product. If game developers want to be pissed off about GW they have every right not to use it.
End users really have no place in that discussion.