What Does DirectCompute Really Mean For Gamers?

GPU Compute In Games: A Work In Progress

“There is nothing magic about DirectCompute that says it will require more performance,” says DICE’s Johan Andersson. “It can either be used to improve performance, if it is a good fit for the use case/algorithm, or it can be used to implement effects/techniques that aren’t possible or practical to implement on the CPU or on the GPU graphics pipeline. We use it for optimizing the worst-case performance of our levels, and that worst case is when we have a lot of light sources, especially together with MSAA. So, if DirectCompute gains us performance in the worst case but reduces performance in the best case, as in a simple level with very few dynamic light sources, that is still better for the overall user experience.”

This makes great sense. Nothing is ever free, and DirectCompute is no cure-all. There are trade-offs. But if the net result is an overall improvement in the user experience with only a slight to moderate penalty under some circumstances, that’s a good deal.

Unfortunately, today’s consoles and the many DirectX 10-era GPUs spread across the market don’t support DirectCompute. This explains part of why there hasn’t been a mad rush to get DirectCompute-based features running in as many apps as possible. Other, more universal features are simply in higher demand. Still, it’s only a matter of time, and our tests show that there’s plenty to anticipate in games, mostly related to visual fidelity.

“Going forward,” adds Andersson, “there are many other post-processing, lighting, rendering, and simulation techniques—for example water and particle simulation—that we are interested in experimenting with DirectCompute for. Our goal is to enable both new game play experiences as well as improving performance even further.”

Naturally, DICE isn’t alone.

“Over the next few years, DirectCompute is likely to play a large part in the way we render our scenes,” says Codemasters’ Gareth Thomas. “There are several Holy Grails of real-time rendering all graphics programmers would like to see solved. For example, decoupling material complexity from lighting complexity is one. Global illumination, or at least a practical approximation to it, is another, along with order-independent transparency. Then there are all the techniques which just require massive computation and are no longer practical to execute on a quad-core CPU, such as cloth, water, smoke, and so on. The most exciting thing for me is that everyone is looking to DirectCompute and OpenCL for the next jump in technology, and people will come up with techniques that I haven’t even thought of yet.”

So stayed tuned—the best is yet to come. Speaking of which, we’ll be back soon with the next part of our foray into heterogeneous computing and what it can do for your everyday productivity and compression needs.

  • Ha. Are those HL2 screenshots on page 3 lol?
    Reply
  • Khimera2000
    so... how fast is AMD's next chip??? :) a clue??? anything?
    Reply
  • de5_Roy
    would pcie 3.0 and 2x pcie 3.0 cards in cfx/sli improve direct compute performance for gaming?
    Reply
  • hunshiki
    hotsacomanHa. Are those HL2 screenshots on page 3 lol?
    THAT. F.... FENCE. :D

    Every, single, time. With every, single Source game. HL2, CSS, MODS, CSGO. It's everywhere.
    Reply
  • hunshikiTHAT. F.... FENCE. Every, single, time. With every, single Source game. HL2, CSS, MODS, CSGO. It's everywhere.
    Ha. Seriously! The source engine is what I like to call a polished turd. Somehow even though its ugly as f%$#, they still make it look acceptable...except for the fence XD
    Reply
  • theuniquegamer
    Developers need to improve the compatibility of the API for the gpus. Because the consoles used very low power outdated gpus can play latest games at good fps . But our pcs have the top notch hardware but the games are playing as almost same quality as the consoles. The GPUs in our pc has a lot horse power but we can utilize even half of it(i don't what our pc gpus are capable of)
    Reply
  • marraco
    I hate depth of field. Really hate it. I hate Metro 2033 with its DirectCompute-based depth of field filter.

    It’s unnecessary for games to emulate camera flaws, and depth of field is a limitation of cameras. The human eye is able to focus everywhere, and free to do that. Depth of field does not allow to focus where the user wants to focus, so is just an annoyance, and worse, it costs FPS.

    This chart is great. Thanks for showing it.


    It shows something out of many video cards reviews: the 7970 frequently falls under 50, 40, and even 20 FPS. That ruins the user experience. Meanwhile is hard to tell the difference between 70 and 80 FPS, is easy to spot those moments on which the card falls under 20 FPS. It’s a show stopper, and utter annoyance to spend a lot of money on the most expensive cards and then see thos 20 FPS moments.

    That’s why I prefer TechPowerup.com reviews. They show frame by frame benchmarks, and not just a meaningless FPS. TechPowerup.com is a floor over TomsHardware because of this.

    Yet that way to show GPU performance is hard to understand for humans, so that data needs to be sorted, to make it easy understandable, like this figure shows:




    Both charts show the same data, but the lower has the data sorted.

    Here we see that card B has higher lags, and FPS, and Card A is more consistent even when it haves lower FPS.
    It shows on how many frames Card B is worse that Card A, and is more intuitive and readable that the bar charts, who lose a lot of information.

    Unfortunately, no web site offers this kind of analysis for GPUs, so there is a way to get an advantage over competition.
    Reply
  • hunshiki
    I don't think you owned a modern console Theuniquegamer. Games that run fast there, would run fast on PCs (if not blazing fast), hence PCs are faster. Consoles are quite limited by hardware. Games that are demanding and slow... or they just got awesome graphics (BF3 for example), are slow on consoles too. They can rarely squeeze out 20-25 FPS usually. This happened with Crysis too. On PC? We benchmark FullHD graphics, and go for 91 fps. NINETY-ONE. Not 20. Not 25. Not even 30. And FullHD. Not 1280x720 like XBOX. (Also, on PC you have a tons of other visual improvements, that you can turn on/off. Unlike consoles.)

    So .. in short: Consoles are cheap and easy to use. You pop in the CD, you play your game. You won't be a professional FPS gamer (hence the stick), or it won't amaze you, hence the graphics. But it's easy and simple.
    Reply
  • kettu
    marracoI hate depth of field. Really hate it. I hate Metro 2033 with its DirectCompute-based depth of field filter.It’s unnecessary for games to emulate camera flaws, and depth of field is a limitation of cameras. The human eye is able to focus everywhere, and free to do that. Depth of field does not allow to focus where the user wants to focus, so is just an annoyance, and worse, it costs FPS.
    'Hate' is a bit strong word but you do have a point there. It's much more natural to focus my eyes on a certain game objects rather than my hand (i.e. turn the camera with my mouse). And you're right that it's unnecessary because I get the depth of field effect for free with my eyes allready when they're focused on a point on the screen.
    Reply
  • npyrhone
    Somehow I don't find it plausible that Tom's Hardware has *literally* been bugging AMD for years - to any end (no pun inteded). Figuratively, perhaps?
    Reply