DirectX is overhead

Discussion in 'Gaming' started by HellRipper, Mar 19, 2011.

  1. According to AMD, a pc GPU alone is ten times faster then either the whole PS3 or 360, while the games on pc dont look ten times better. Without DirectX, things would be better.

    Developers on consoles are able to take way more out of the hardware. Imagine how pc games would look like if developers could do the same on the pc.
  2. I thought Xbox games were created using DirectX. Isn't that why it was so easy to woo PC developers? I'm a bit n00bish when it comes to PCs, but I was under the impression that PC needed higher end components to over come bottlenecking caused by their interfaces between components. That's why lesser GPUs in consoles can achieve the same results as better GPUs in a PC, correct?
  3. What is DirectX anyway? I have DirectX 10 on my PC yet I don't know what it is for other than I need to it run certain games.
  4. My GPU purchased in 2009 (Radeon 5870) is more than 10X faster than PS3. It boasts to have 2.7TFLOPS compared to PS3's 250GFLOPS.

    DirectX is an SDK (Software Developer Kit) that's programmable to interface with the graphics hardware.

    Just think it of as a black box scenario.
  5. Direct X is just a programing interface. There are many more including the semi popular OpenGL.
  6. It's not the DirectX itself responsible for slowing down the rendering pipeline on the PC. It's the whole operating system with its ten thousands of layers separating the user code from the hardware.

    The DirectX is just an API which IS necessary, no matter which console you consider, there's surely some API you use, otherwise programming would be extremely painful. If you then take the DirectX away, some other standarization of the API would HAVE to emerge and no matter how you call it, DirectX 123, XGraphicsAPI, OpenGraphicsLayer, it's still there.

    However, it would be fairly easy to remove the OS and replace it with much lightweight "gaming-os" so that for example the multitasking would be much simpler, hundreds of system services are removed etc.

    The only question is "who could do this?". Microsoft would surely not be interested. The only possibility is that such OS would come from GPU manufacturers, however by taking such approach they could easily mess with Microsoft who then in turn could remove the support for most GPUs from Windows.

    Another important issue is that alrough the GPU itself can be extremely fast, its speed is not necessarily balanced by other hardware components. It's like putting the Veyron's engine into Hyundai I10 - it won't just change it into a racing car.
  7. A gaming-os would be nice, theres ALOT of overhead from Windows 7 for example. What i allways do is turning off all services (in the services.msc toolbox), and disable alot of crap. But am sure theres still alot of overhead from the OS.
  8. DirectX isn't just an Application Programming Interface; it's more of a Software Development Kit, and the implementation is available in XNA (XNA's Not Acronym -- a developer kit for Xbox360).

    Also bfun, saying OpenGL is "semipopular" is just wrong... The whole 3D library (Open Graphics Library) is used in almost everywhere else including Windows, Linux, Solaris, MacosX, Android, iOS, and much more! The reasons is that OpenGL is "opened" and have been implemented in many of the systems. That equates to more than the systems that have access to DirectX.
  9. That's exactly what DirectX is.

    An API is the set of rules and methods which determine how the system works; think of it as a system specification that says how it works and defines what you can do.

    An SDK is merely a set of tools let you implement a system that uses the specifications. For example, instead of having to create my own model class to handle importing an FBX model from Maya or 3DS a good SDK will have this defined for me already. SDK's vary in complexity..good ones do everything they can do to make your life easier.

    XNA is just one implementation of a DirectX SDK; the indie version that anyone can download and use is, essentially, a managed wrapper which is why it uses C#. However real devkits are also emblazed with XNA but they use C++ because of the inherent advantages of having total control over your memory usage.