View Single Post
  #9  
Old 03-08-2012, 03:43 AM
keinmann keinmann is offline
Approved Member
 
Join Date: Mar 2012
Posts: 19
Default

It's not simply a matter of performance (e.g., not enough memory or "power"), though that is certainly a big part of it. It's a much bigger and more complex issue. It goes down to how gaming software works at the lowest level...

Modern games for Windows use DirectX (typically 10, 10.1 or 11). Nowadays, DirectX no longer includes the FFP (Fixed-function Pipeline). FFP has been totally replaced with programmable shader pipelines. In modern DirectX, NOTHING gets on the screen without a shader. Shaders are what ultimately push pixels to your screen. And shaders require a proper GPU to be run!

If you ever try writing a video game or any real-time 3D application, you'll then realize how painful it can be to write code and shaders for different hardware. One card might support only Shader Model 2.0, while another supports 3.0. There are vast differences in these, and the workload it can put on programmers to be backward-compatible with old hardware can be obscene. Think about the fact that DirectX 9 only had vertex and pixel shaders. DirectX 10 introduced geometry shaders. Now in DirectX 11, I find myself writing pixel shaders, vertex shaders, geometry shaders, hull shaders, compute shaders and more! To put it in simple terms: Any hardware capable of running a modern DirectX or OpenGL application like IL-2 already has a shader-capable GPU and can do better than 256 color lol. So it's unnecessary.

And this is only the tip of the iceburg. The differences between versions of DirectX and hardware goes much, much deeper. The latest versions of DirectX have new controller APIs, for example. Another example is DirectX 11 no longer includes any "built-in" 2D API that works with D3D! There are new math APIs, lots of stuff is discontinued or no longer supported, etc. D3D 11 supports multi-threaded rendering and has a new Device Context COM interface... And it goes on and on and on... If you want to see what I'm talking about just dig around in Microsoft's release notes and the DirectX documentation. There's a LOT more to developing games (even very simple/crappy games) than a non-programmer could ever imagine!

And this isn't even considering many other factors... Oh, now you have to port your game to OpenGL and make the darn thing run on Mac and Linux! Oh joy! Then a million new bugs get introduced... Programmer shoots himself in head...
Reply With Quote