Computer Ed Radio

Turning Geek speak into street speak

Set Our Video Games Free


You know way back in the days of DOS we did not have drivers in the sense we have them now. Each program had to bring with it the tools to work with specific pieces of hardware. Programs as simple as a word processor had to carry printer drivers within it and use emulation modes in hopes of reaching a broader range. The result was that often when you went to choose hardware for your computer you needed to first look at what software you had so you could decide what hardware you needed to make use of it.

Enter the era of Windows and joy of joy this ended. Windows introduced a standardized driver set that made buying a printer about what the printer offered, not what programs you had. No longer did a program dictate to us our choices of the hardware we choose to run.

48672_Gaming_Evolved_logo_147WToday in the PC gaming world it seems we have begun to take steps backwards. All to often it seems you will see a game on a shelf that carries a sticker for a specific video chip manufacturer. In the rush to develop new software and make use of new hardware the chip makers for GPUs have stepped outside the arena of designing chips and entered the game creation market. Through the use of every from simple promotional help, game development assistance all thenvidia way to being offered money the chip makers have made their move to maker sure that when a game releases it is in someway optimized to work better with their technology than the other guys.

While these methods on the surface might seem like a good idea the repercussion they have to the consumer is something being felt more it seems each year.

You see the by product of these methods is that the standardization that was created by Direct X begins to go by the wayside in an effort to use short cuts and optimizations specifically designed to work with one companies technology.

I started my investigation into this a few weeks ago when the drama surrounding the H.A.W.X. 2 benchmark came to light. I began calling my contacts in various gaming companies and tried to get information from the two big GPU makers. While the GPUY makers where all but silent the gaming companies where willing to speak provided I did not name companies or names. This request from them alone is a sad testament to the things going on in this industry.

In the case of H.A.W.X. 2, by Ubisoft,  I was able to learn that nVidia did in fact “suggest”, a polite way to say pressure, the company to release the benchmark early. This move was done for one reason to push out the benchmark in time for the competition to not be able to make driver corrections to work around optimizations put into the game.

This was not however a one sided affair. On the other end of the spectrum we see Codemasters putting out the game F1. AMD provided a lot of help with the game and at release nVidia was just getting a copy of the code finally to work around optimizations put into the game for the other side.

These are not isolated incidents and in fact have sadly become the way this industry is working. When I asked one game company about a flaw in their game that only effected AMD based cards I was told the issue was AMD did not use the same “tricks” nVidia had given the company. Why do game creators need tricks when there is a standardized method of using all the major features for graphics rendering that would work with anyone’s product well?

What this means for the consumer is that buying a video card based on just important critera such as price to performance, power consumption, heat and noise levels as well as hardware specific feature sets is not enough. We also it seems need to take into account what games and perhaps even what game makers we want to deal with. This is WRONG!

Reading the above it would be easy to be mad at the GPU makers about this but your anger would be misguided. The real culprit in this is the game makers. They have standardized tools that they can use to create the same games they put out now, why are they not using them and instead relying on the GPU makers for so much help and incentives?

Should we allow this to continue? Should we not do something to make the industry provide us products that do the job they are supposed to without us having to look at other products by brand to enjoy the first product? We could but I doubt it will happen. If we all refused to buy games optimized for one side or the other than we could make a chance take place but the simple truth it’s the game makers know they have us over a barrel and do not really care what we, the consumers would like.

Should the GPU companies spend more time making better GPUs than trying to work in game development? Well of course they should but they won’t. These moves earn them a lot of free press that they will not let go easily. The truth is we the consumers are stuck.

So the next time you go to play a game and have issues making run as good as you think it should you might want to spend less time being mad at the maker of the GPU and talking about how much it sucks and instead know that the ones that suck are the game makers that sold out of making a game truly for everyone and instead have decided to pick sides by choice or bribe in the hardware world.

About these ads

November 21, 2010 - Posted by | Uncategorized

12 Comments »

  1. There is a problem with your logic there, Ed…
    HAWX 2 only uses the standard DirectX 11 tessellation feature. There isn’t anything nVidia-specific about it.
    The story that AMD needs to ‘fix their drivers’ is just nonsense, because AMD has supported DirectX 11 and its tessellation features since the introduction of the 5000-series (and offered their own tessellation extensions before DX11 standardized it).

    AMD just means that they haven’t had time to add driver cheats yet, to cover up the fact that their hardware is not competitive with nVidia’s offerings with various DX11 features, most notably tessellation.

    See also this analysis of GeForce versus Radeons at Beyond3D:
    http://www.beyond3d.com/content/reviews/55/10

    This simply isn’t a case of non-standard or non-optimized things. It’s standard DX11 stuff which has been around for a long time.
    I don’t understand why people always buy AMD’s lies.

    Comment by Scali | November 22, 2010 | Reply

  2. Scali,

    First I did not buy into AMD’s anything, my soruce for info on this was in Ubisoft. If you read my post however I did not say it was running nVidia only code, I said they had it pushed out quickly, this is fact. You might also notice that I said AMD did the same thing essentially with F1. Though in fairness it was neither GPU makered that did these two things in the ned but rather tha game makers.

    I notice however that while you dispute the single point of H.A.W.X. 2 you do not question any other position. This issue is real and it is in the end BAD for consumers.

    However as I pointed out my issue with this behavior is less with the GPU makers than with the game makers for selling the consumer out and putting themselves into the middle of the GPU war, a place they DO NOT belong.

    Comment by Computer Ed | November 22, 2010 | Reply

    • You bought into this, apparently:
      “This move was done for one reason to push out the benchmark in time for the competition to not be able to make driver corrections to work around optimizations put into the game.”

      Since tessellation is a standard DX11 feature that AMD already supported for about a year, what ‘driver corrections’ would they possibly have to make, other than cheats?

      I’m not saying that vendor-specific code isn’t used in games… the most obvious example would be PhysX… but the HAWX 2 story just isn’t one of those cases. This is exactly what you are trying to promote in this post: using standard DirectX 11 code.

      But standards only tell half the story. A standard doesn’t guarantee that all implementations of that standard are equally good. Today it’s tessellation, and to a certain extent DirectCompute, where there can be large differences in performance between different vendors.

      A few years ago it was Pixel Shader 2.0, a standard feature in DirectX 9, which ran considerably better on Radeon 9000-series than GeForce FX cards.

      That is just a completely different issue from vendor-specific additions, such as PhysX.

      As a developer, I personally always choose the side of the hardware which implements the standard best. I will not go for a ‘lowest common denominator’ approach. I will choose to take advantage of the best hardware, and will offer a lower detail setting for slower hardware.
      The logic behind that is very simple: since it is a standard, it is not going to go away. All newer hardware will have to support it as well. By making use of the best hardware now, you are pushing the GPU designers to get the implementation right in their future products. In the end, we all benefit, so it is GOOD for consumers.
      Going for the lowest common denominator is bad for consumers, it doesn’t deliver better games for anyone, not even the people who bought hardware that is capable of more. It also doesn’t drive the competition between vendors.

      Comment by Scali | November 22, 2010 | Reply

  3. Scali, first hardware does not deliver better games period. The sad truth is that modern game design sometimes gets so caught up in the hardware that iot forgets to make the “game”.

    I am not suggesting lowest common denominator, I am suggesting game companiess stay away from the hardware and worry about gamne design first.

    I understand that hardware is used to display the game but a game with great hardware support and crap depth of game is a crap game.

    Let the hardware companies deal with making hardware and game designs should design games.

    Comment by Computer Ed | November 22, 2010 | Reply

    • I think you are now confusing many different subjects.
      Firstly, while I never said that better hardware delivers better games, it is obvious that the same game, but with better graphics and/or performance will be a better version of that game.

      Secondly, I don’t see how this GPU marketing has much to do with game design. It’s not like nVidia and AMD design the games for these companies. No, they just add some extra eyecandy and other little tricks. The originality in games has died many years ago, long before this whole The Way It’s Meant To be Played/Get In The Game/Gaming Evolved marketing came into play.
      I think that is a completely separate issue, and that has more to do with the fact that most developers just like to copy successful games, hoping to get a piece of the pie. Look at how many games have been FPS in the last 10-15 years, for example. That’s mostly just a result of the success of Quake. It spawned a huge wave of Quake clones. And since people continue to buy them, game developers continue to make them.

      I really don’t think that if nVidia and AMD stop meddling with game development, that we suddenly get much better and more original games. That would be grossly overstating the amount of influence that nVidia and AMD have on game design in general. The real problem is neither caused by them, nor can they solve it. The problem is game designers not really designing games.

      Comment by Scali | November 22, 2010 | Reply

  4. I do agree that we would not suddenly get better games however I do think the consumer would be happier with games that are not based on anything but standards in hardware. Again realize that I am not so much point this at the GPU makers as the game creators that sell out to these companies.

    Comment by Computer Ed | November 22, 2010 | Reply

    • I don’t think I’m quite getting through to you. The HAWX 2 benchmark uses a standard DirectX 11 feature: tessellation.
      The problem is that AMD’s tessellation doesn’t perform very well, despite it being a standard feature in DirectX 11.
      Standards don’t solve performance differences between vendors.

      It’s the same on the CPU side… even though Intel and AMD both use the same x86 instructionset, and all software works on both vendors, there’s still a performance difference, because the implementations are different.

      The problem is that the AMD camp is unhappy about the tessellation performance, and they want to artifically limit tessellation in games, so that nVidia products cannot benefit from their better implementation of the standard either.
      As I said before, I think the better implementation of the standard should be supported, so that consumers of the better hardware can benefit now, and the competitor will be forced to improve their implementation as well. In the end we get better implementations of the standard.

      Comment by Scali | November 22, 2010 | Reply

  5. You seem to be missing my point, Ubisoft allowed itself to be used as a tool for the GPU war. THAT is the complaint at the end of the day.

    The role of a game design company is to make video games not take sides in hardware wars.

    Comment by Computer Ed | November 22, 2010 | Reply

    • I understand your complaint. I’m just saying that standards are not the answer, because they were already using standards-based code only.

      I also don’t think that if nVidia/AMD no longer meddle with game development, that these performance differences will stop. The hardware from different vendors simply has different performance characteristics. Some developers will always choose to support the hardware to their full potential. I wouldn’t call that ‘taking sides’. Especially not when it’s just standard DX11 code.

      As I said before… The real problem is not nVidia and Ubisoft making use of DX11 tessellation. The real problem is that AMD’s hardware can’t do it very well. If AMD had a better implementation of tessellation, then AMD wouldn’t have looked bad in HAWX 2.

      So I’ll give you this one: the role of GPU vendors is to develop fast GPUs, not to play the victim in hardware wars. The competition will always try to take advantage of your weaknesses (just like AMD did when nVidia didn’t have DX11 hardware, remember?). You should just try not to have any.

      Comment by Scali | November 23, 2010 | Reply

  6. Well, just as I suspected… AMD was working on driver cheats for tessellation.
    They put them in the new 11.1a Hotfix. With those drivers they ‘fix’ the performance in HAWX 2 and various other titles using tessellation (including some of their own, ironically).

    Comment by Scali | January 20, 2011 | Reply

    • Not going to disagree but at the same time I have to wonder about using the word cheats. I mean for benchmarks I 100% agree that anything that works outside the norm is a cheat. However for users I do not consider these cheats but rather options.

      AMD is behind in tessellation that is for sure.

      Comment by Computer Ed | January 20, 2011 | Reply

      • I say a cheat is when you’re not playing by the rules.
        The rules are dictated by Direct3D in this case:
        http://msdn.microsoft.com/en-us/library/ff476340(v=vs.85).aspx

        The tessellation factors are simply the output of the hull shader, and act as input for the tessellation stage:
        http://msdn.microsoft.com/en-us/library/ff476339(v=vs.85).aspx

        What happens here is that AMD silently rewrites the tessellation factors coming from the hull shader, before feeding them to the tessellation stage.
        This is a cheat, because that is not how Direct3D is designed to work (and OpenGL 4.0 is the exact same story, its tessellation works identical to Direct3D’s). Direct3D specifies this:
        “The tessellator operates once per patch using the tessellation factors (which specify how finely the domain will be tessellated) and the type of partitioning (which specifies the algorithm used to slice up a patch) that are passed in from the hull-shader stage.”

        AMD is not doing this. Their tessellator is not using the tessellation factors that are passed in from the hull-shader stage. They are using tessellation factors that have been fudged by the driver.

        It’s a cheat, there’s no denying that.
        It could be a cute option for users, and it won’t be the first driver option that breaks API conventions and trades image quality for performance, but I don’t see that as a valid excuse for not calling it a cheat (just as all the other cheats that went before it).
        The worst part is that AMD wants to enable this feature by default. Which means that AMD hardware is no longer DX11-compliant by default. I think that is a very serious issue.

        Comment by Scali | January 21, 2011


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 71 other followers

%d bloggers like this: