1) There are three GPU makers out there in the PC space. You forgot the one with the biggest marketshare (thoughnot the loudest marketing or best performance): Intel. It's a threeway, not a twoway. And look at the recent noise about their new driver plus GRID 2 optimizations. They're chasing the gaming market. It doesn't have to be the best performer to be worth remembering that there are people out there gaming with Intel GPU's.
This is by default though, I wouldn't say thier market share is representative of usage or is even relevant regarding AAA titles. How many people use their intel integrated graphics for modern games built on modern engines.
2) To my eye, Mantle is like Glide in that the company that perceives itself to have dominance in GPU market share is trying to capitalize on that dominance by shutting the other people out of the "high performance" niche. High performance space is where the marketing for the lower end products happens; people hear the R9 290X is the best of the best, so the R7 260 sells better, etc. Mantle is about selling the high end AMD card as the only card capable of hitting the highest of the high end on the "benchmark" titles that AMD has been targeting for the last year with Gaming Evolved.
How are they shutting anyone out????? They are not in a position to make mantle a requirement/shove it down anyone's throat yet at least, its just there if you want to use it and developers can say no. Curiously, I'd like to know your opinion on the use and availability of assemblers especially those supported by cross-platform compilers. I also don't know why you quoted benchmarks, AAA titles are top sellers, of course they'd target them not only for the marketing but because they move cards.
3) ...4) That brings us to Mantle and DirectX/OpenGL. Two is too many codepaths.
You just referenced 3 different APIs. Who are you to determine that the market will only bear only 2 APIs hmmm? Major game engines already target more than 3 different APIs so idk it's looking kinda iffy. As others including me have already said, the middleware model can and already does support more platforms than the build-the-entire-game-yourself model. I made a post about this already somewhere, I forget.
You speak of porting from Xbone/PS4 to PC like it's nothing, but it is not nothing. Even if the exact same code from Xbone low-level to Mantle could work, it would not be an inconsequential amount of money, time, or support to maintain a second, separate codepath for a new API.
Looks like a contradiction to me.
Sure, let's say hypothetically it's COMPLETELY identical to the Xbone's low level API (this is speculative and unlikely as "completely identical" seems iffy), you'd still have to code for PC optimizations, right? I mean, lots of talk about Mantle implies that GCN 2.0 is the same as GCN 1.0, that the Xbone version of the game is as good as the PC version is going to be (resolution? better textures? farther draw distance? faster framerate?) with no customization or improvements.
Mantle implies that GCN 1.0 is close enough to GCN 2.0 that the API is relevant to them both. I dunno how mantle implies the XB1 version will offer the same performance as the PC version, even if XB1 has a mantle like API.
Somehow, I doubt that EVERY self-respecting PC gamer is going to take an untouched, unimproved port of Battlefield 4 running at the Xbone's resolution of 720p/1080p and be content with that. Certainly, PC gamers are going to want more. That doesn't just magically appear after you code for Mantle. You've got to code even more for Mantle to make that happen and work well. Who works on the Mantle code? The same guy working on Direct3d for PC? Or the guy working on the Xbone low level API? What if the PC version gets a new feature, does the Mantle version get it? So the PC version guy does it, right?
Why would the port run at the XB1's resolution and why do you think changing resolution is this intensive process are my first thoughts. If as you mentioned more means higher resolution, better textures, farther draw distances and faster framerates then the good news is most of those things shouldn't be an issue. Changing the resolution is not a code intensive process, neither is increasing the draw distance. Getting higher res textures should largely be a art issue than a coding one.
What if the low level Xbone API gets further optimized? I guess now the Xbone API guy goes in and alters Mantle, but what if that breaks some of the PC-specific code in Mantle for the PC version of Battlefield 4 Mantle? Who fixes what? Clearly, money is invested to maintain different parts of the code and since Mantle is a whole new API, you have to maintain it somehow. At best, a developer might have a whole other group handling Mantle smoothing and at worst you'll have the same overworked employee doing both Direct3D and Mantle, splitting his time between them both rather than just plain optimizing Direct3d alone.
If by optimized you mean they changed the graphics API spec then when have they ever got up and changed an graphics API in a console after launch? That wasn't rhetorical, I'm literally too lazy to look into that especially since I'm convinced never is the answer. On the other hand, if you mean optimize as in it maintains API semantics and syntax but does some tasks more efficiently in some way then why would they have to modify anything in mantle.
5) This brings us back to the past and Glide. Even developers who favored Glide in a Glide vs Direct3d vs OpenGl threeway were forced to eventually code to the standards. In due course, it became clear that holding such a place of dominance with Glide had led 3dfx to avoid changes that might imperil their dominance-assuring technology, Glide. But those changes led to inferior technical leaps when they long, long clung to ideas for 3d tech that were far behind the curve. Developers who'd long stayed with Glide eventually realized they had to move to DirectX or OpenGL to keep up with the changing pace.
And here this hypothetic situation is reversed. DirectX is the one holding back advancement and Mantle is ostensibly the solution. A standard can be well supported, pervasive, technically inferior and lacking innovation all at the same time.
But the lesson to be learned is still that letting one house control an API in the interests of "superior performance" leads to stagnation and a reliance on that specialized API to maintain their lead and eventually to keep up.
Let? AMD controls mantle because its their API, if anyone is letting anyone control anything its the law and the people who enforce them. Anywho I know what you realy meant, but any form of market superiority can lead to stagnation, cue throwback Intel & AMD when AMD took performance leadership. The same argument could be made for intel now, "letting" intel offer proprietary compilers which produce superior performance on their processors leads to stagnation. And so we shouldn't le...uh, wait what can we do?
... AMD wants to own the market, plain and simple.
I dont deny AMD would sell their products to every single person if they could, but there is a legitimate reason for mantle, and developers have been asking for something like this for a while.
They don't want to spend obscene amounts of money maintaining a pace with companies that are far richer than them: nVidia and Intel. They know they will lose that war eventually as they'll run out of money long before they get there. It's cheaper to give MS and Sony good deals on next gen hardware, then use that as a way to win over more developers to their own specialized API across all platforms. It's clever, if disastrous in the long term since nVidia and Intel will respond in kind. Any money saved by a developer/publisher by "just coding" for Mantle could be more than compensated by either nVidia or Intel, both of whom have a lot more money than AMD.
They know they'll lose the war? they should just give up now then, let NV take it all I always say when I take out my wallet, that will really benefit everyone. But seriously though, what? AMD is in all the consoles, people will be optimizing for their architecture, NV is not. Mantle isn't about saving money, its about leveraging knowledge of and investments in the GCN architecture outside of consoles for as little additional cost as possible. "they could be more than compensated" doesn't make sense unless you're suggesting NV pay developers to not use mantle.
hat's assuming any developer would want to support two API's.
Never mind those engine developers supporting 5+ APIs.
So they want to change the rules of the game. They get to spend less and still be far ahead. Plus, they can finally have a chance of having games and PC's use HUMA, which was heretofore unlikely when nVidia and Intel have little reason to support it. But Mantle sidesteps that entirely, for the first time offering a compelling reason for gamers to buy into an all-AMD PC. Again, it's a clever workaround to the fact that Intel and nVidia refuse to work with them, plus MS is throwing their hands up about PC gaming in general.
This is called business strategy, its also called moving things forward in spite of the fact that everyone else seems ok with the status quo.
6) Direct3d and OpenGL were a response to multiple API's. Everyone who talks about Mantle acts like nVidia and Intel couldn't make their own, initiating an API war.
I dont doubt it. As for uptake I'm not convinced Intel is in a position to get a lot of adoption. Maybe NV. Anyway you can't deny that the consoles are a big advantage in getting developers to use theirs though.
If you think Intel doing it is a joke, you really need to look at how much money that company is sitting on and how many GPU's it's selling per year. Do you look forward to a day when publishers are outright paid to focus only on the Intel GPU codepath, leaving the Direct3d one to be the "safemode?" Or unsupported? Perhaps nonexistent? How many gamers right now with a discrete GPU made by nVidia or AMD have an Intel GPU on their CPU, waiting for its day? Lying in wait, like sleeper agents.
Lol...there is not one intel iGPU ever offered commercially in anyone's computer in any city in any country that could match any of AMD/NV high end. I'm willing to bet my dog Kirchhoff on that.
AMD is doing a clever move with Mantle, but if you think developers/publishers aren't going to support other GPU vendors because Mantle's so much easier, you really need to remember that the 360 version of games were often the first version and that had AMD hardware for eight years now. How many of those AMD-first games were then ported over to nVidia hardware and suddenly became TWIMTBP'ed? It was only in the last year-ish that Gaming Evolved actually evolved into something worthwhile and it wasn't because of b/c with the AMD GPU in the 360 (or Wii). It was because money talks. Suddenly, these companies had deals for thousands and thousands of licenses of games from these companies. AMD paid them money and they made Gaming Evolved for AMD.
Just about the only thing we agree on here is that mantle sounds very clever. Previously, how could AMD leverage what was in the consoles? Not only were the architectures different, but there wasn't the same levels of access.
So what makes you think that the pittance of savings of some code that Mantle offers will be more tempting than the truckloads of money Intel or nVidia could hypothetically offer? It may be easy to forget AMD is in extreme financial straits, but there's still a lot of talk about them going out of business and even if that is (somewhat) overblown, they don't have a ton of money to push Mantle with.
askldjalsdjkasdlka...is the most appropriate response here.
7) But all that comes back to the obvious. If money is not a factor (because AMD's competitors are far richer) in AMD's favor, then ease of use and performance improvement would have to be incredible to be compelling to developers to use a SECOND additional API for PC gaming than the seemingly required DirectX/OpenGL one.
Again DX and OGL are two different APIs. DX on XB360,the two APIs on the ps3, the API on the PSP are some examples of different but similar APIs in some cases.
Even if a developer went out of his way to use Mantle for the next gen consoles (or if Xbone's low level API were based on Mantle), that doesn't mean they'd go to the trouble of applying that to PC gaming. "Why wouldn't they, it's easy as pie?" It's not. It's really not. Anyone who says that doesn't get what it takes to make a game.
Tell us more about that time when you developed that game. Afterwards you can regale us with stories about how AMD totally revealed their new API to you before anyone else because caution be damned they were making moves.
More than that, the performance improvement would have to be incredible to warrant such an investment for any developer, which almost assuredly locks out most developers who just want compatibility.
Unless "compatibility" and portability where design goals.
Of the select few who are making high end niche benchmark titles, you've got some that are nVidia-friendly and some that are mercs, up to the highest bidder. Money, again, speaks louder. If nVidia senses a real threat on its homefront, nVidia will turn around and start spraying money like it's confetti.
Like I said, money to not use mantle? If so, that's not cool man >_>
8) AMD wants Mantle for the same reasons that 3dfx clung to Glide, but Mantle is going to fail for all the reasons 3dfx was supplanted by DirectX. Not because Glide suffered for all the alternate API's. In most cases, it won out because it was the first and rather than deal with the chaos, developers just went with the most mature (Glide). No, Glide just didn't keep up with the times and maintaining its features kept 3dfx from evolving.
That's what's going to happen to AMD if they aren't very, very cautious because when you code games "to the metal," then you can't really change much about the layout of said metal or things start breaking.
I counter this argument with Shinatai's law of conflicting realities. His denouncement pretty much guarantees some measure of success.
9) Mantle is a move of desperation by a company that doesn't see itself changing much in the way of its technology over the next ten years. It's clever and it's going to send some shudders through the PC gaming space, but in the end I think something like Valve's Steambox based on Linux will have more impact on finally freeing us of the tyranny of an OS run by a company obsessed with gaming consoles and not PC gaming.
K.
Warning issued for callout.
-- stahlhart