DirectX is "getting in the way" of PC performance

Developers calling for API removal claims hardware manufacturer AMD

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 "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."

More stories

AMD's "design wins" point to new console hardware in 2016

More than $1.5 billion in revenue expected from three new products in AMD's console-focused Semi-Custom business

By Matthew Handrahan

AMD technology powers Sulon Q VR headset

The untethered Sulon Q is powered by AMD CPU and GPU technology.

By Mike Williams

Latest comments (30)

Phil Hindle Technical Director, FreeStyleGames9 years ago
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?
0Sign inorRegisterto rate and reply
Henrique Olifiers Gamer-In-Chief, Co-Founder, Bossa Studios9 years ago
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.
0Sign inorRegisterto rate and reply
Erlend Grefsrud Creative Director, Strongman Games Ltd.9 years ago
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.
0Sign inorRegisterto rate and reply
Show all comments (30)
Tim Wright Managing Director, Tantrumedia Limited9 years ago
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

0Sign inorRegisterto rate and reply
Stewart Gilray Managing Director, Just Add Water9 years ago
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 :)
0Sign inorRegisterto rate and reply
Nuttachai Tipprasert Programmer 9 years ago
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.)
0Sign inorRegisterto rate and reply
Fran Mulhern , Recruit3D9 years ago
Heh, isn't that a bit like saying "Windows is getting in the way of PC performance"?
0Sign inorRegisterto rate and reply
Russell Kay Software Engineer 9 years ago
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.
0Sign inorRegisterto rate and reply
Tom Keresztes Programmer 9 years ago

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.

0Sign inorRegisterto rate and reply
Mihai Cozma Indie Games Developer 9 years ago
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?
0Sign inorRegisterto rate and reply
Ashley Tarver Indie 9 years ago
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

0Sign inorRegisterto rate and reply
Mike Gamble European Territory Manager, Epic Games9 years ago
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.
0Sign inorRegisterto rate and reply
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!!!

@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

0Sign inorRegisterto rate and reply
Semi Essessi Experienced Rendering Programmer, Codemasters Guildford9 years ago
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

0Sign inorRegisterto rate and reply
Michael Armer Studying Games Development National Diploma Level 3, Lancaster and Morecambe College9 years ago
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.
0Sign inorRegisterto rate and reply
Jordan Lund Columnist 9 years ago
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.
0Sign inorRegisterto rate and reply
Paul Shirley Programmers 9 years ago
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!
0Sign inorRegisterto rate and reply
Matthew Hayward Programmer, Blitz Games9 years ago
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.
0Sign inorRegisterto rate and reply
Tom Keresztes Programmer 9 years ago
If PC games would be as optimized as console ones, the visual difference would be bigger...
0Sign inorRegisterto rate and reply
Mihai Cozma Indie Games Developer 9 years ago
@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.
0Sign inorRegisterto rate and reply
Luke McCarthy Indie Game Developer 9 years ago
So why don't they get together with NVIDIA and make their own alternative to DirectX?
0Sign inorRegisterto rate and reply
Andrew Goodchild Studying development, Train2Game9 years ago
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.
0Sign inorRegisterto rate and reply
Andrew Jakobs Lead Programmer 9 years ago
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..
0Sign inorRegisterto rate and reply
Adam Campbell Studying Games Technology, City University London9 years ago
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..
0Sign inorRegisterto rate and reply
Richard Gardner Artist, Crytek9 years ago
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.
0Sign inorRegisterto rate and reply
Ashley Tarver Indie 9 years ago
@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?
0Sign inorRegisterto rate and reply
Tom Keresztes Programmer 9 years ago
@Andrew Goodchild,

More crippling is that publishers dont expect PC sales to be very high (compared to the console).
0Sign inorRegisterto rate and reply
Jamie Watson Studying Bachelor of Games & Interactive Entertainment, Queensland University of Technology9 years ago
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?
0Sign inorRegisterto rate and reply
Klaus Preisinger Freelance Writing 9 years ago
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.
0Sign inorRegisterto rate and reply
Christopher Bowen Owner, Gaming Bus 9 years ago
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?
0Sign inorRegisterto rate and reply

Sign in to contribute

Need an account? Register now.