Close
Are you sure? Are you sure you want to report this comment? I understand, report it. Cancel

DirectX is "getting in the way" of PC performance

Fri 18 Mar 2011 10:50am GMT / 6:50am EDT / 3:50am PDT
Developer ToolsHardware

Developers calling for API removal claims hardware manufacturer AMD

AMD

Over the course of AMD's four decades in business, silicon and software have become the steel and plastic...

amd.com

Hardware manufacturer AMD has suggested that bypassing APIs such as DirectX would be the best way to unlock the full potential of current PC hardware, which the company claims is being held back by the prioritisation of console development.

"It's funny," said AMD's GPU worldwide developer relations manager Richard Huddy in an interview with bit-tech.net. "We often have at least ten times as much horsepower as an Xbox 360 or a PS3 in a high-end graphics card, yet it's very clear that the games don't look ten times as good."

"To a significant extent, that's because, one way or another, for good reasons and bad - mostly good, DirectX is getting in the way," he added.

We often have at least ten times as much horsepower as an Xbox 360 or a PS3 in a high-end graphics card, yet it's very clear that the games don't look ten times as good

Richard Huddy, AMD.

According to Huddy one of the most common requests from developer is to, "Make the API go away."

"Being able to have total control over the machine, which is what the very best games developers want. By giving you access to the hardware at the very low level, you give games developers a chance to innovate, and that's going to put pressure on Microsoft no doubt at all," said Huddy.

Although a standard 3D API is intended to ensure code can run on as wide a range of hardware as possible, Huddy suggests that the access it provides to tools such as shaders can be a double-edge sword.

"The funny thing about introducing shaders into games in 2002 was that we expected that to create more visual variety in games, but actually people typically used shaders in the most obvious way. That means that they've used shaders to converge visually, and lots of games have the same kind of look and feel to them these days on the PC."

Huddy admits that removing the API would not suit all developers though, with the report quoting Introversion's Chris Delay: "I don't want anything to do with that, but presumably it depends on what you're developing. If you're making Crysis 3 or something like that, then it may be exactly what you want."

30 Comments

Phil Hindle
Technical Director

19 37 1.9
I think this piece got posted early, April fools day is a couple of weeks away.

Coding to the metal on all the different graphics hardware out there... surely you jest Mr Huddy? And how will software cope when a new graphics card arrives on the market, with different registers (some new ones, some removed), and so forth?

Posted:3 years ago

#1

Henrique Olifiers
Gamer-In-Chief, Co-Founder

11 4 0.4
So now we're back to the good old early 90s games, where you had a different game version for each different 3D card? More drivers to install? More incompatibility issues? Not clever. If alienating average PC gamers even more is your objective, way to go.

Worse even, is to propose something like this in order to make Microsoft improve its API. Surely there are better (smarter) ways to achieve such a goal.

Posted:3 years ago

#2

Erlend Grefsrud
Creative Director

22 0 0.0
Well, the shader pipeline is essentially just a patch on the fixed-function pipeline, so reconsidering the entire architecture of GPUs and their APIs would be a good start.

I'm sure all the developers out there who has spent the last decade building great tech around that architecture will be *overjoyed* if someone decides to go down the GPGPU route. Then again, it's what we have to do if we want to change. Otherwise, of course, I wouldn't mind seeing the AAA games biz crumble under the weight of 1000+ games that look just the same -- it would be deliciously ironic.

Posted:3 years ago

#3

Tim Wright
Managing Director

29 0 0.0
In the past I've seen things like this rolled out with clever used of hardware address jump-tables to allow for different layouts, and structure maps to outline hardware function. But surely we'd just end up re-inventing Direct X and come full circle again?

Edited 1 times. Last edit by Tim Wright on 18th March 2011 12:00pm

Posted:3 years ago

#4

Stewart Gilray
Managing Director

33 29 0.9
Having known Richard for a few years now, he does have some very interesting opinions :)

Be it back in his 3d Labs days, or nVidia and now with ATI/AMD you could always count on Richard to have an opinion a bit left of centre :)

Posted:3 years ago

#5

Nuttachai Tipprasert
Programmer

79 60 0.8
And I need to study the whole lots of API from different hardware vendors all over again? Still not have enough platforms to make developer head explode? (PC, PS3, Xbox360, NDS, 3DS, NGP, PSP, iOS, Adriod, etc.)

Posted:3 years ago

#6
Heh, isn't that a bit like saying "Windows is getting in the way of PC performance"?

Posted:3 years ago

#7

Russell Kay
Software Engineer

1 0 0.0
I don't think he means hit the metal directly (i.e. the bad old days) just take away the hand holding that DX does, have an improved layer that does little checking and is more reliant on the developer getting it right, allowing you to hit the metal harder... anyway that is what I hope he said. I remember the bad old days and I never want to go there again.

Posted:3 years ago

#8

Tom Keresztes
Programmer

632 239 0.4
@Fran

Precisely. While suggesting something like avoiding APIs like DirectX (especially platform independent ones) seems to be crazy (he probably mean something completely different) there is some reason behind what he said. Microsoft is not really supporting PC developers with DirectX. Sure there is a lot of cool stuff in DX, but apart from Direct3D11 the rest of the DirectX SDK is lagging behind. Around Vista, DS3D lost the ability to hardware accelerated effects, so OpenAL is commonly used as an audio API, DirectInput has not been updated since... dx7? Sure, we got XACT, XINPUT (xbox360 joypad support ONLY!) which are nice, but they came from Xbox, and as such geared towards XBOX capabilities.
The situation reminds me of pre DX years.

Posted:3 years ago

#9

Mihai Cozma
Indie Games Developer

123 34 0.3
He actually said that for some developers it would be nice (like the people that work on the amazing Cry engine), while for others (the majority) it won't. Maybe the guy was talking about something that would work side by side with DX? So you can still use DX, but nobody forces you to, if you want to go the low level way, go for it?

Posted:3 years ago

#10

Ashley Tarver
Indie

41 1 0.0
I don't think he's suggesting indies stop using DX or oGL or whatever. He's suggesting that the big players could really squeeze some exciting juices out of PC hardware given the chance.

The real question appears to be "ok, how do you achieve it?"

Edited 1 times. Last edit by Ashley Tarver on 18th March 2011 12:52pm

Posted:3 years ago

#11

Mike Gamble
European Territory Manager

7 9 1.3
To be fair the graphics card landscape is very different now than in the mid 90's when there was dozens of different 3D card manufacturers each with their own API, now there are 2 ( worth worrying about). It might just about be possible from a business perspective to code to the metal for the couple of highest end cards - essentially a different sku and use directx for the rest epecially if the IHV's were paying for that differentiation.

Playing devils advocate here a little as the mere fact of typing the above makes me a heretic and I will of course burn in MS hell.

Posted:3 years ago

#12
It can work for tech demos bundled with some graphic cards. Nothing more (never will).
When will they shut up and improve tesselation in a NVidia level? Work to do, no time to waste!!!

(EDIT)
@Mike, I understand your point, but this makes impossible to anyone else try to enter in this industry too. Doing this, we'll just say: "Ok, everyone, fuck off! We'll just do games to NVidia and AMD now, the rest of you can go to hell."
Its just unfair.

Edited 1 times. Last edit by Leandro Rodrigues Rocha on 18th March 2011 2:06pm

Posted:3 years ago

#13

Semi Essessi
Experienced Rendering Programmer

3 0 0.0
The problem is just the conceptual junk DX enforces - you don't ever need to use classes, "interface classes" (whatever they are), vtable lookups or big cache miss guaranteeing offsets to implement your rendering API... it would be nice to have something leaner... like OpenGL but with some guarantee that the underlying driver implementation is not doing similar things which hurt performance...

(Incidentally you can improve performance on 360 by dodging DX too... and i've seen others moaning about its requirement for cert...)

Edited 1 times. Last edit by Semi Essessi on 18th March 2011 1:41pm

Posted:3 years ago

#14

Michael Armer
Studying Games Development National Diploma Level 3

28 0 0.0
is there any point to what he is saying in his comments.if you don't like direct X surely you can use openGL and modify it to your needs. I cannot see anything from stopping a game developer making his own API if he so wanted anyway.

Posted:3 years ago

#15

Jordan Lund
Columnist

23 59 2.6
You want to make a version of a game that only runs on a single high-end card? Great. I'm sure both of the people who own that card will be very happy.

Posted:3 years ago

#16

Paul Shirley
Programmers

173 147 0.8
My belief is that the 'lack of visual variety' in games has less to do with the low level driver (be it DX, OGL or something else) than the widespread adoption of high level game engines.

Right back in the original Build/Doom/Unreal days it was blatantly obvious exactly which engine each licencee was using, they all had a distinctive look that few devs ever managed to avoid. That is still happening now.

If I'm right giving devs lower level access will have exactly no effect. The engine writers will use it, the game devs will still go with enough default settings to ensure most games look visually similar. To some extent that cant be fixed because the fix would essentially throw away all the high level support middleware exists to provide!

Posted:3 years ago

#17

Matthew Hayward
Programmer

4 0 0.0
DirectX 11 doesn't do a great deal of hand holding anyway, even to do something simple requires the developer to set up each individual stage of the pipeline. I guess XNA is there for the high level API.

I wonder if this is more to do with the time and effort involved in writing quality drivers for graphics cards.

Posted:3 years ago

#18

Tom Keresztes
Programmer

632 239 0.4
If PC games would be as optimized as console ones, the visual difference would be bigger...

Posted:3 years ago

#19

Mihai Cozma
Indie Games Developer

123 34 0.3
@Paul Shirley - I agree with you, it's the widespread of the big engines that makes all big games look the same. That is one reason.

Another reason is that maybe most of the big games want to look "realistic" so their shaders employ the same lighting and shadowing equations that will look that way and also run on the majority of hardware out there? I know there are different ways to achieve similar results, but the observations here relate to the "similar results" part: the goal is to look "realistic" and there is only one reality we know off.

A third factor would be, as Carmack nailed it in an interview, there is no (financial?) reason to push an engine technologically past the limit imposed by the current generation of consoles, and few bother to do it. That is why even if you own DX11 cards, in most AAA games you will see only poor texturing and poor geometry, as nobody would struggle to make major changes for the PC version like rebuilding characters with higher poly count and remaking hi-res textures. All they will do are some simple effects like prettier shadows or tessellation stuff. That is why with my DX10 card with which I was able to play Crysis at full detail I can play Crysis 2 the same way, save some DX11 specific effects. It looks like the engine and the game content was optimized to work on consoles, not to push my PC limits.

Posted:3 years ago

#20

Luke McCarthy
Indie Game Developer

35 0 0.0
So why don't they get together with NVIDIA and make their own alternative to DirectX?

Posted:3 years ago

#21

Andrew Goodchild
Studying development

1,227 388 0.3
It is commented on a lot about how PC AAA sales are way down compared to console. We all look to piracy vs DRM as a dual cause, and I won't dismiss that, but another major reason in my mind is that whilst virtually everyone with a console also has a PC, most can't run modern AAA games. Look at the success of Starcraft 2, a game that purposefully kept specs realistic to the average PC owner.
So, sure doing this may eke out more power for those with high end graphics cards, and if those people are willing to spend 795 on every new game, you'll be laughing.

Posted:3 years ago

#22

Andrew Jakobs
Lead Programmer

223 83 0.4
uhm, it's a big BS what he's talking about, just look at the latest Unreal Engine 3 incarnation and the latest CyrEngine3, they put 3 highend cards to it's fullest with beautifull graphix, but current cards aren't just capable of it at their own.. and both engines are using DirectX....... I never really liked the ATI cards as their drivers where just crap, and I had 3 ATI cards burn up, where all my NVidia cards never had any problems..

Posted:3 years ago

#23

Adam Campbell
Studying Games Technology

101 0 0.0
I'm a naysayer.

The status quo is acceptable and it is improving. Especially with APIs and GPUs allowing you to do weird and wonderful things with a new level of flexibility..

I don't see a good reason to be disruptive and increase the complexity of development, when you can already do increasingly more amazing things. The majority simply have no desire to drop APIs, when they can already make the best looking games and ensure many different platforms can run them..

Posted:3 years ago

#24

Richard Gardner
Artist

123 32 0.3
Adding to the topic of DX, a lot of developers who ship multi-platform products get a lot of stick these days when consumers see that its running in DX9, but what people don't put into perspective is the actual benefit they would receive. One of the main features of DX10 is object based motion blur, but CryEngine3 has it running on DX9 and even consoles. Another example would be tessellation in DX11 but this has also been achieved in DX9. Don't get wrong their are still benefits of shader and performance. But the majority of core features of DX10 and DX11 are already achieved using DX9.

Posted:3 years ago

#25

Ashley Tarver
Indie

41 1 0.0
@Richard Gardner

But would your company (being one of the few who really push limits) have an interest in something like Richard Huddy is suggesting?

Posted:3 years ago

#26

Tom Keresztes
Programmer

632 239 0.4
@Andrew Goodchild,

More crippling is that publishers dont expect PC sales to be very high (compared to the console).

Posted:3 years ago

#27

Jamie Watson
Studying Bachelor of Games & Interactive Entertainment

179 0 0.0
could you say that if developers started pushing the limits of PC hardware again then maybe a new alternative to direct X or more implementations of DX11 would become necessary to game development thus pushing games forward visually and creatively?

because as far as games go theses day alot are too samey...

weres innovation gone?

Posted:3 years ago

#28

Klaus Preisinger
Freelance Writing

1,031 910 0.9
If Nvidia and ATi aren't doing it, nobody will. But why would they do anything? Their product is certainly selling, right now, would it sell better if they spent a lot of money to have better efficiency? They just release the next generation of cards and are happy they do not have to worry about APIs.

Microsoft is now selling consoles, they could not care less about PC gaming. Why would they? It is not as if there was any competition. There is no magic gaming Linux supporting all hardware, providing a killer app online store and the perfect copy protection scheme at no cost. Apple is not competing with Windows gaming either. On an API level, OpenGL is not doing better than DX it seems. Even we have competition there, we do not have a competition.

Posted:3 years ago

#29

Christopher Bowen
Owner, Gaming Bus

118 0 0.0
I'm not a developer, so maybe someone can answer this for me... is this guy basically calling for everyone to adopt OpenGL? How would that fit into this?

Posted:3 years ago

#30

Login or register to post

Take part in the GamesIndustry community

Register now