> Imagine how much better performance you could expect from games if they could spend their time optimizing for one API, and not making compromises to target a half dozen.
That is not really an accurate statement. Graphics performance is heavily dependent on the actual hardware design of the underlying platform. You can't wave a magic API-wand and have your executable or shader be magically fast on every hardware platform.
It also depends on design of the engine, which can be improved, instead of spending time on supporting a lot of redundant APIs. Support for lock-in is essentially a tax put on developers, and it's exactly the way lock-in proponents want it.
Why couldn't it, you dont think software updates can improve performance across the board? But his point was developers could focus on a single api rather than having to deal with quirks in directx, opengl, vulkan, webgl, etc.
>But his point was developers could focus on a single api rather than having to deal with quirks in directx, opengl, vulkan, webgl, etc.
That is really an imagined scenario. An extremely tiny minority of games are targeted for such a wide variety of platforms. Real-time high-performance code is always tightly coupled with the hardware - if you want to squeeze performance out of hardware, you want to minimize abstractions to such a level as they don't hurt your productivity. If you're targeting consoles, you can maybe target the PC platform. But there is no way you're targeting the nintendo DS or a smartphone with the same codebase without major modifications to the graphics code.
> An extremely tiny minority of games are targeted for such a wide variety of platforms.
On the contrary, most games are targeted for most platforms, to increase reach and sales as result of it. Only some exclusives of console makers are not doing that, and those are clearly outliers.
> Real-time high-performance code is always tightly coupled with the hardware
That's not common at all. Unless you want to beat modern compilers with assembly code, you only will produce something worse. Sure, there are are rare cases when using hardware specific features yields extra performance. Codec developers do that for example. But for games? Not usually needed. Shaders are provided in cross platform fashion (such as SPIR-V) and that's compiled into GPU machine code by the driver. And actual game code is commonly using some high level systems language (C++, etc.) + a scripting one.
Good performance is achieved by parallelizing the engine properly, since modern hardware is increasingly multicore.
That is not really an accurate statement. Graphics performance is heavily dependent on the actual hardware design of the underlying platform. You can't wave a magic API-wand and have your executable or shader be magically fast on every hardware platform.