Ashes Of The Singularity Beta: Async Compute, Multi-Adapter & Power

Multi-GPU In Detail

SFR: Rendering All Over The Place With DirectX 12

When two cards take turns rendering frames, it's called alternate frame rendering (AFR) and the result is typically an increase in both the average and maximum frame rate. However, this mechanism is quite fragile and includes a number of potential problems.

The graphics cards might become desynchronized if two frames follow each other too quickly or if their frame rendering times are very different. This results in subjectively perceptible stuttering that can be quite severe. Different synchronization techniques and frame pacing might provide some relief, but the underlying problem remains.

Another caveat is that all resources need to be duplicated. For instance, each graphics card has to have a copy of the same data in its memory.

DirectX 12 uses split frame rendering (SFR). This method works in a similar way to raytracing by dividing the screen into tiles. Consequently, each card still uses its own resources, but only needs the assets required for its part of the image and not the entire image. This doesn’t just reduce the memory footprint, but also the bandwidth requirements and transfer times.

Idle time until the output of the finished frame is reduced, since each graphics card just needs to render its tile, and not the whole frame.

Frame Rates And Times

We ended up testing three graphics cards in various combinations using AFR, since it wasn't possible to set up SFR in the game's current form. We simply didn’t have the time for any more than that. Curiously, we ran into CPU bottlenecks quite a bit anyway, even though we stuck to the Extreme preset and an overclocked six-core CPU. If we had experimented with slower graphics cards, the results would have been even less representative.

Don't get too hung up on the similar frame rates. As usual, the devil’s in the details. For comparison, we’re also including the two individual graphics cards:

A look at the frame rates over time shows us significant differences, with Nvidia’s graphics cards enduring the lowest minimum frame rates. This also goes to show that the overall averages are usually worthless.

The frame render times don’t look much different. We don’t really see any outliers, which are generally almost customary for SLI and CrossFire setups. The individual graphics cards have some problems in this arena, though.

Things look the same in our smoothness graph, with the multi-GPU configurations doing well.

The number of batches per frame is close once again, which isn’t really a surprise, seeing what’s being rendered.

It’s plain to see that the CPU becomes a bottleneck in the multi-GPU configurations. There might only be a difference of seven percent between the fastest single GPU's frame rate and the slowest multi-GPU configuration, but the rate of bottlenecked frames jumps to 100 percent.

Depending on the performance level, the portion of the total render time consumed by the CPU is massive.

The same goes for the portion of the total render time used up by the driver.

Present Time is dominated by AMD’s Radeon R9 Fury X once again. In spite of the similar frame rates, there are a lot of differences between the graphics cards, which are also reflected in the subjective user experience.

Multi-GPU Bottom Line

If nothing else, the boundaries between graphics cards falls with DirectX 12. This goes both for different graphics card models and graphics cards by different manufacturers. Almost all combinations are possible, even though they don’t necessarily make sense.

  • In other words DX12 is business gimmick which doesn't translate to squat in real game scenario and I am glad I stayed on Windows 7...running crossfire R9 390x.
    Reply
  • FormatC
    Especially Hawaii / Grenada can benefit from asynchronous shading / compute (and your energy supplier). :)
    Reply
  • 17seconds
    An AMD sponsored title that shows off the one and only part of DirectX 12 where AMD cards have an advantage. The key statement is: "But where are the games that take advantage of the technology?" Without that, Async Compute will quickly start to take the same road taken by Mantle, remember that great technology?
    Reply
  • FormatC
    An AMD sponsored title
    Really? Sponsoring and knowledge sharing are two pairs of shows. Nvidia was invited too. ;)

    Async Compute will quickly start to take the same road taken by Mantle
    Sure? The design of the most current titles and engines was started long time before Microsoft started with DirectX 12. You can find the DirectX 12 render path in first steps now in a lot of common engines and I'm sure that PhysX will faster die than DirectX12. Mantle was the key feature to wake up MS, not more. And: it's async compute AND shading :)
    Reply
  • turkey3_scratch
    Well, there's no denying that for this game the 390X sure is great performing.
    Reply
  • James Mason
    An AMD sponsored title
    Really? Sponsoring and knowledge sharing are two pairs of shows. Nvidia was invited too. ;)

    Async Compute will quickly start to take the same road taken by Mantle
    Sure? The design of the most current titles and engines was started long time before Microsoft started with DirectX 12. You can find the DirectX 12 render path in first steps now in a lot of common engines and I'm sure that PhysX will faster die than DirectX12. Mantle was the key feature to wake up MS, not more. And: it's async compute AND shading :)

    Geez, Phsyx has been around for so long now and usually only the fanciest of games try and make use of it. It seems pretty well adopted, but it's just that not all games really need to add an extra layer of physics processing "just for the lulz."
    Reply
  • Wisecracker
    Thanks for the effort, THG! Lotsa work in here.

    What jumps out at me is how the GCN Async Compute frame output for the R9 380X/390X barely moves from 1080p to 1440p ---- despite 75% more frames. That's sumthin' right there.

    It will be interesting to see how Pascal responds ---- and how Polaris might *up* AMD's GPU compute.

    Neat stuff on the CPU, too. It would be interesting to see how i5 ---> i7 hyperthreads react, and how the FX 8-cores (and 6-cores) handle the increased emphasis on parallelization.

    You guys don't have anything better to do .... right? :)

    Reply
  • For someone who runs Crossfire R9 390x (three cards) DX12 makes no difference in term of performance. For all BS Windows 10 brings not worth *downgrading to considering that lot of games under Windows 10 are simply broken or run like garbage where no issue under Windows 7.
    Reply
  • ohim
    An AMD sponsored title that shows off the one and only part of DirectX 12 where AMD cards have an advantage. The key statement is: "But where are the games that take advantage of the technology?" Without that, Async Compute will quickly start to take the same road taken by Mantle, remember that great technology?
    Instead of making random assumptions about the future of DX12 and Async shaders you should first be mad at Nvidia for stating they have full DX12 cards and that`s not the case, and the fact that Nvidia is trying hard to fix this issues trough software tells a lot.

    PS: it`s so funny to see the 980ti being beaten by 390x :)
    Reply
  • cptnjarhead
    For someone who runs Crossfire R9 390x (three cards) DX12 makes no difference in term of performance. For all BS Windows 10 brings not worth *downgrading to considering that lot of games under Windows 10 are simply broken or run like garbage where no issue under Windows 7.

    There are no DX12 games yet for review, so why would you assume that you should see better performance in games made for windows 7 DX11, in win10 DX12? Especially in "tri-Fire". DX12 has significant advantages over DX11 so you should wait till these games actually come out before making assumptions on performance, or the validity of DX12's ability to increase performance.
    My games, FO4, GTAV and others run better in Win10 and i have had zero problems. I think your issue is more Driver related, which is on AMD's side, not MS's operating system.
    I'm on the Red team by the way.
    Reply