Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: I hate DirectX  (Read 1706 times)

Jookia

  • Bay Watcher
    • View Profile
I hate DirectX
« on: February 22, 2010, 02:21:37 am »

DirectX does everything OpenGL does, but requires an installer which makes my PC have multiple versions of it scattered everywhere depending on which age the game was made in, constant newer versions and lacks OpenGL's access to new hardware extensions without releasing a newer version.

I hate the argument that DirectX/OpenGL are just APIs and are the same. They are, but one works cross-platform and doesn't require installers, let alone multiple versions of it scattered around my system due to me liking to play older games (DX8, DX9) and newer ones (DX10, DX11). It's bullshit.
Logged

Emperor_Jonathan

  • Bay Watcher
  • GET UP SUCKER
    • View Profile
Re: I hate DirectX
« Reply #1 on: February 22, 2010, 02:31:52 am »

I thought you could play games designed for previous versions of direct X. Is this incorrect, because I only have DX9 and have had no problems.
Logged

Jookia

  • Bay Watcher
    • View Profile
Re: I hate DirectX
« Reply #2 on: February 22, 2010, 02:55:45 am »

That's not the point. The point is, OpenGL and DirectX do the same thing, but DirectX needs an installer and crap like that. It's unjustifiable.
Logged

G-Flex

  • Bay Watcher
    • View Profile
Re: I hate DirectX
« Reply #3 on: February 22, 2010, 03:10:49 am »

I honestly have no idea what you're talking about.


The reason DirectX is installed on your system as opposed to being packaged with each game is so it's system-wide, so you don't have fifty versions of it scattered about your hard drive.

In other words, it has an installer to prevent the exact issue you're talking about.

When an API (or library in general) is packaged with the piece of software using it, the problem is that it becomes very difficult to update it. After all, if you have twelve programs using Direct3D, and every single one of them has its own local copy in its own directories, how do you update Direct3D? Each piece of software would have to handle it on its own. However, it's installed in a system-wide manner exactly to prevent this.

This ties in to your other (almost as false) point: DirectX does NOT keep countless versions of itself lying around. Versions up until 9 were backwards-compatible with software intended for prior versions; versions starting with 10 are not, but include the legacy API for compatibility purposes.



EDIT: Wait, are you running the installer for every single game that says you have to install DirectX? You realize you don't have to do that, right? If you got install Diablo II and it bitches at you to INSTALL DIRECTX 4.0 OR DIE, you don't actually have to, because you already have that or better.
« Last Edit: February 22, 2010, 03:15:06 am by G-Flex »
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

Jookia

  • Bay Watcher
    • View Profile
Re: I hate DirectX
« Reply #4 on: February 22, 2010, 03:55:59 am »

I honestly have no idea what you're talking about.


The reason DirectX is installed on your system as opposed to being packaged with each game is so it's system-wide, so you don't have fifty versions of it scattered about your hard drive.

In other words, it has an installer to prevent the exact issue you're talking about.

When an API (or library in general) is packaged with the piece of software using it, the problem is that it becomes very difficult to update it. After all, if you have twelve programs using Direct3D, and every single one of them has its own local copy in its own directories, how do you update Direct3D? Each piece of software would have to handle it on its own. However, it's installed in a system-wide manner exactly to prevent this.

This ties in to your other (almost as false) point: DirectX does NOT keep countless versions of itself lying around. Versions up until 9 were backwards-compatible with software intended for prior versions; versions starting with 10 are not, but include the legacy API for compatibility purposes.



EDIT: Wait, are you running the installer for every single game that says you have to install DirectX? You realize you don't have to do that, right? If you got install Diablo II and it bitches at you to INSTALL DIRECTX 4.0 OR DIE, you don't actually have to, because you already have that or better.

SPORE didn't install if I didn't install DX9. OpenGL doesn't have an installer besides the graphics card drivers.
Logged

G-Flex

  • Bay Watcher
    • View Profile
Re: I hate DirectX
« Reply #5 on: February 22, 2010, 04:04:31 am »

I can't speak for Spore itself, because I've never installed or played it. Are you sure it wouldn't let you install? And did you not HAVE DirectX 9 at the time? Seriously, if you didn't yet HAVE DirectX 9, I don't know what you're complaining about; it's not a big deal for a game to expect you to have an up-to-date (from the point of view of its release date) version of DX.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

Makrond

  • Bay Watcher
  • Like fuzzy dice, only more slicey
    • View Profile
Re: I hate DirectX
« Reply #6 on: February 22, 2010, 04:14:04 am »

I love it when the computer illiterate spout random hate because it's the cool thing to do.

If SPORE wouldn't install unless you installed DX9 then you didn't have DX9. Simple as that. Don't complain to us just because a game needs a version of DirectX that you haven't bothered to install. You should be happy the game was packaged with DX9 on the off chance someone didn't have it installed, instead of complaining about having to install something extra.

Incidentally OpenGL has to be included with the game that uses it, instead of being able to be installed system-wide. This creates more work for the developers, and if they're not planning on making a multi-platform release it's often easier just to use DirectX function calls and include a redistributable on the game CD.
Logged
Quote from: Jusal
Darwinism? Bah! This is Dwarvinism!

Jookia

  • Bay Watcher
    • View Profile
Re: I hate DirectX
« Reply #7 on: February 22, 2010, 04:19:28 am »

I love it when the computer illiterate spout random hate because it's the cool thing to do.

I'm angry at how DX requires me to install shit while OpenGL doesnt, from an end-user point of view. I know you include OpenGL's libraries and headers in programs, I know all the crap, I just don't see the benefits of using DX as compared to OpenGL, especially when SPORE asked me to install DX when I have a newer version. OpenGL doesn't do that.

OpenGL also works on 90% of platforms. I just don't see what the argument AGAINST it is.

OpenGL goes on 90% of platforms, doesn't ask you to install it.
DX goes on Microsoft enabled platforms and has an installer.

Seriously, what?
Logged

G-Flex

  • Bay Watcher
    • View Profile
Re: I hate DirectX
« Reply #8 on: February 22, 2010, 04:27:35 am »

I'm angry at how DX requires me to install shit while OpenGL doesnt, from an end-user point of view.

Installing a program isn't hard. You click "yes", then click "next" a couple times.

And I already explained the benefits of having the API installed on your system instead of packaged with every single game.


Quote
OpenGL also works on 90% of platforms. I just don't see what the argument AGAINST it is.

The problem is that you haven't said anything against DirectX that's actually valid.

Yes, OpenGL is cross-platform. That's an advantage. That is the only actual advantage you've listed. DirectX having to be installed system-wide is not a disadvantage; it's a good thing.
Logged
There are 2 types of people in the world: Those who understand hexadecimal, and those who don't.
Visit the #Bay12Games IRC channel on NewNet
== Human Renovation: My Deus Ex mod/fan patch (v1.30, updated 5/31/2012) ==

Makrond

  • Bay Watcher
  • Like fuzzy dice, only more slicey
    • View Profile
Re: I hate DirectX
« Reply #9 on: February 22, 2010, 04:36:39 am »

I'm angry at

I AM ANGRY. ANGRY ABOUT APIS.

Seriously if a few seconds out of your day actually makes you physically enraged, seek help.
Logged
Quote from: Jusal
Darwinism? Bah! This is Dwarvinism!

Ampersand

  • Bay Watcher
    • View Profile
Re: I hate DirectX
« Reply #10 on: February 22, 2010, 06:20:43 am »

The only good reason to dislike DirectX is that microsoft has arbitrarily decided to make DirectX 10 and above refuse to install on anything earlier than Windows Vista. OpenGL can do everything that DirectX does, and it's done many of the things that microsoft has touted as major innovations in their recent releases of DirectX for longer.

However, the reason that people still use DirectX is simply a matter of efficiency.
Logged
!!&!!

Siquo

  • Bay Watcher
  • Procedurally generated
    • View Profile
Re: I hate DirectX
« Reply #11 on: February 22, 2010, 07:37:27 am »

Rephrase: OpenGL+SDL+some other libs can do anything that DirectX does.

DirectX does a whole lot more than just graphics, such as audio, input, networking...

However, the only reason it's still being used is the same reason MS windows is used: Most people use it. It's not "better" than any of the other tools around, it's probably just slightly worse, even.
Logged

This one thread is mine. MIIIIINE!!! And it will remain a happy, friendly, encouraging place, whether you lot like it or not. 
will rena,eme sique to sique sxds-- siquo if sucessufil
(cant spel siqou a. every speling looks wroing (hate this))

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: I hate DirectX
« Reply #12 on: February 22, 2010, 07:56:59 am »

The main advantage of packaging it in the executable itself is that you *know* that a new feature added to the base system will not interfere with the workings of your program. Although you won't experience sudden speed increases when a new version does the same thing, only faster, in exchange you get consistancy and better cross-platform support. You have access to all of those neat new features without having to worry about dx 10 and 11 not being available on older systems, and a mac/linux port is easy.

Edit:

Also, it appears that any decent compiler only includes the parts of OpenGL that your program actually uses, meaning that the ones I have written are usually less than 30 kb. And, as far as I know, it doesn't rely on an external dll that can be corrupted/missing/outdated.
Since it doesn't have to worry about a missing library, it can run without first using an installer or checking for directx itself.
« Last Edit: February 22, 2010, 07:59:37 am by qwertyuiopas »
Logged
Eh?
Eh!