IMPORTANT READ FIRST: This article deals with multi-threading and draw calls. Simple terms, a draw call is a calculation of what a GPU should do. On PC it's limited to single thread in DX9, but on Consoles, both 360/PS3 are not. Consoles can do up to 50,000 draw calls, but they usually don't. The current issue with PC Gaming isn't the GPU. The GPU from AMD and Nvidia are widly much better than on console, the problem is the CPU. The difference between an i7 and the 3 core in 360 isn't that different other than the high mhz on PC. But on PC the draw calls are single threaded and for PC, due to the DX API and all the other layers in MS Windows, a PC has to do many more cycles for rendering the same thing on PC. That's the bulk of what this article discusses. DX11 supposed to resolve some of this, but AMD for example still doesn't support multi-threading in their drivers, and this is probably the biggest feature of DX11 that game developers want, and NV support is also shabby.
Interesting read. This is an old interview from an ex-CodeMasters employee explaining why PC Gaming has the issues that it has. The developer says game developers blame MS for the hig overhead from the DX API and MS for causing a single threaded draw call. A console can make many more draw calls than a PC can. And then goes on to blame AMD and NV for drivers issues. Developing for PC is not fun, pain, and frustrating.
The interview states that PC only have an advantage because of the high mhz advantage. But speed for speed between a PC and Console, a Console will destroy a PC. The next gen of consoles coming should leave the PC in the dust unless Microsoft can figure out a way to get rid of all the layers in the way. When next gen consoles come out and MS still hasn't resolved this problem of API overhead and proper multi-threading support from AMD and Nvidia, then it might be time to ditch the PC and just buy the new console.
One question PC Gamers will have to ask is, does MS care about PC gaming? Will they do anything to fix these issues or just turn a blind eye in hopes this will increase their Xbox sales? Or will PC Gaming turn to a different system like possibly shift to Linux or just a Shell dedicated to gaming?
-
Notice that it seems AMD may be the GPU supplier for both Sony and Microsoft on the next gen of consoles. Makes you wonder why AMD has been ignoring the lack of multi-threading support in their drivers after almost 2 years DX11 has been used in games and with multiple games supportingin DX11 Multi-threading.
And I thought consoles were further out, but seems, dev kits for next gen consoles may be in the hands of developers in just a year from now? -
what about OpenGL.
I just cant understand why they do this. the more they do the more they will loose PC market i belive, i wont buy a game that runs like crap not mater what PC i have. the graphics instead of getting better they seem to get worse.
I still strongly believe that is is a part of the war between vendors MS and OpenGL. I might be wrong but to me it seems like that lets screw someone up.
OO yes and drivers are hell especially on linux. as for overheads the more features DX and openGL will get the more overhead it looks that we will have. -
John Carmack who uses OpenGL has this to say about it. It's an API with overhead issues. The PC version running Rage has endless issues and performs much worse than it does on console in comparison considering the difference in hardware performance.
John Carmack is probably one of the many who want direct command line access to hardware on PC. But considering on PC, there are just countless different CPU/GPU variations, how he would do that is not known. That's why we have a DX/OpenGL API. With 360 and PS3 you can go direct to metal because there is no variation in hardware.
-
Peter Bazooka Notebook Evangelist
This exact thing came up earlier this year and I believe there was at least one thread here that people commented on but with the search here not sure if I can find it. Here is a link to what I think is the original article.
Farewell to DirectX? | bit-tech.net
Here is a great quote that says in different words the same thing you posted.
Quote: On consoles, you can draw maybe 10,000 or 20,000 chunks of geometry in a frame, and you can do that at 30-60fps. On a PC, you can't typically draw more than 2-3,000 without getting into trouble with performance, and that's quite surprising - the PC can actually show you only a tenth of the performance if you need a separate batch for each draw call. -
John Carmack is someone special, he spoke a lot at QuakCon and i strongly belive that this issue wont be solved until we as marked make something. thy will still keep on doing the same draging us and then we will complain why this why that.
anyway DX with MS is doing hell a lot to us off. why not give a try to OpenGl as API. see what will M$$$$ do to improve they're api.
Unless there is no war i mena a big one there wont be improvements.
i belive that DX might have the same fate as Adobe Flash will, soon we will se something like HTML5 and things will start changing. developing has become a very very hard job, once you start a career on something its very hard to change it because you have to learn a lot and get experienced on that and no one wants that. -
another good article that i just started reading
Twilight of the GPU: an epic interview with Tim Sweeney -
Yeah too bad Sweeney was so wrong. All my games are GPU heavy and very CPU light.
And the problem that all the other game programmers have pointed out was that the CPU is the bottleneck issue, not the GPU. -
-
well if the api is gone there will be no more problems
-
Well, this is basically the crust of the problem:
"I have a belief that the draw call limit if it becomes an issue it will be solved and the fact that it has not been addressed is because it has not been an issue yet. The market will sort it out. I really doubt any of the players involved are just going to flip over their desks on go home calling it the end of the PC performance increases.
Well, yes, hopefully it will be addressed BUT these things take time to sort out both on the windows side and the driver side of things."
It's simply because it's not an issue for PC as the PC's CPU is so much more powerful, and how most processing are done on the GPU with shaders rather on the CPU.
It seems that it's partly his problem for trying to use console development method on PC. He should understand that PC is a lot more GPU based hence shader heavy approach would give a lot better performance, which is different from console. I guess his real issue is that he can't just port the console version of the game to the PC directly if he want best performance. -
The other issue is the huge layers and API that PC has. I think you missed the point of the article. But other thing, you are probably right. He's only a game programmer who has to ensure PC games run on PC hardware for a living. He's the one making sure the GPU shaders are working properly for his games, he's totally wrong.
You should write a letter to John Carmack and Tim Sweeney and game developers at Firaxis Games and you should tell AMD they are all wrong and are morons. They don't know what they are talking about. And yes I put in AMD, even AMD admits it's the DX11 API, overhead and lack of multi-threading support that is crippling PC Game development. Why they aren't getting the MT support out faster is beyond me. There is an interview from AMD that goes into depth of why on PC draw calls is so limited and the draw calls is what ensures something appears on your screen! -
From AMD, CPU is holding back GPU from lack of mult-threading support. Of course AMD is at fault for not providing it in the drivers.
-
Do you have a source?
-
The writer expressed that he understands this as well, he is simply being worried that it might not be solved in time when it actually becomes a problem as GPU get faster. However, right now, it's not really a problem since the bottle neck is really with the GPU. -
I'm of the impression that MS won't simply ignore this and that they might actually be working on a fix for it in DX12 beta stuff.
People have been saying that MS might just give up and concentrate on Xbox development instead. I don't think this is the case. If you eliminate the PC gamers then they will naturally either buy a playstation or an Xbox. Gamers buying playstations is the exact oposite of what microsoft wants, so it makes sense to keep PC gamers happy and reduce the possibility of it happening.
MS probably make just as much money for every PC built as they do for every XBox sold. Think about it. Windows is pure profit for them. As soon as they have a final release they're just sitting there laughing while the cash flows in. It costs them a grand total of a few pence to make a windows distrubution. Compare that with a console where they have to pay for the hardware and I'm sure the profit margin on windows distributions would be higher.
Also, if you really wanted me to, I'm sure I could slip a word to MS research. I live in Cambridge and my sixth form college has good connections with them. We recently had a guy come in and talk about the research they did with the kinect. If something like that happened again then I could probably hand on the message, which I hope would filter down to the relevant unit eventually.
PC Gaming, Devs Blame MS and AMD and NV?
Discussion in 'Gaming (Software and Graphics Cards)' started by Zymphad, Nov 18, 2011.