The return of SFR?

Discussion in '3D Hardware, Software & Output Devices' started by Silent_Buddha, Oct 26, 2014.

  1. Silent_Buddha

    Legend

    Joined:
    Mar 13, 2007
    Messages:
    16,143
    Likes Received:
    5,079
    http://www.anandtech.com/show/8643/...crossfire-with-mantle-sfr-not-actually-broken

    This is pretty interesting and may make me interested in multi-GPU again.

    AFR is not for me for a great variety of reasons, some of them listed in the article (like higher input latency). Interestingly, they claim SFR actually reduces input latency over single GPU rendering. Would love to see if that bears out.

    Unfortunately, it's a turn based strategy game, so not the best to test input latency (as the article points out). However, minimum framerate skyrockets even though average framerate declines compared to AFR, which seems to bear that out somewhat.

    Hopefully, Nvidia has some method to allow SFR on their cards as well, although this is doubtful with Dx11. I wonder if Dx12 will allow for efficient SFR rendering on multi-GPU setups in a similar way to Mantle. The sooner AFR dies for multi-GPU rendering, the better.

    It's nice to see the real world benefits that Mantle can bring if the developer wishes to put the effort into it. Would love to see a FPS or third person action game using SFR with Mantle to see just how much better things could be in a multi-GPU system.

    Regards,
    SB
     
  2. Lightman

    Veteran Subscriber

    Joined:
    Jun 9, 2008
    Messages:
    1,804
    Likes Received:
    475
    Location:
    Torquay, UK
    Finally some REAL reason to own CF setup! I've been using various SLI and CF setups in the past and every time my experience was great during benchmarking and bad during gaming.
    Thanks to Mantle and clever people at Firaxis gaming experience on Mantle CF is better than single card setup! I don't care about max. frames in games as I usually cap them to my screen refresh rate, but worse minimum FPS in CF setups were driving me mad on every occasion they occured (a lot of times / games).

    So lets hope DX12 will enable clever devs to do similar things as today Mantle is doing!
     
  3. pcchen

    pcchen Moderator
    Moderator Veteran Subscriber

    Joined:
    Feb 6, 2002
    Messages:
    2,750
    Likes Received:
    127
    Location:
    Taiwan
    I believe the "reduced lately" claim in this context simply means that a dual GPU setup has the potential to double the frame rate, and thus half the latency (when using SFR).

    I think that, at least for the foreseeable future, the best way to go for multiple GPU setup is best done "manually" in application instead of "automatically" in driver. Since modern game engines do a lot of multi-pass, offscreen rendering tricks, it's very hard to make SFR work automatically without a fast inter-GPU connection. However, such connection is expensive and IMHO is not really that necessary if you have a manually optimized rendering engine.

    Unfortunately, it probably came too late to be relevant. Right now the market for multiple GPU setup is shrinking. Even dedicate GPU is shrinking. I doubt many game developers are willing to invest much into a very small (albeit arguably important) market. If a major game engine developer is willing to do it, maybe we'll see something out of this. It'll certainly be something very interesting to watch.

    (Note that SFR in this sense does not have to be "split frame". For example, it's possible to render some objects of a scene on one GPU and other objects on another, then combine the results together.)
     
  4. Silent_Buddha

    Legend

    Joined:
    Mar 13, 2007
    Messages:
    16,143
    Likes Received:
    5,079
    Yes, that was the point. SFR can't efficiently be done automatically by the driver. That's why it's nice to see something (in this case Mantle) that allows developers to do it manually in a way that makes sense for their engine.

    I can't imagine it must be incredibly difficult to do, as I can't imagine Firaxis going through the trouble to implement it for a turn based strategy game which wouldn't benefit from the lowered latency nearly as much as an action game.

    It's why I also wonder if something like this will be possible in Dx12 as it'll be important for middleware engine makers to enable it if it wants to see widespread use. Which means if it cannot be done in Dx12 and is limited to Mantle it may never see widespread use (for example Unreal Engine with close ties to Nvidia is unlikely to ever use Mantle).

    As to whether it is too little, too late. That's a hard question. In the past a big drawback for multi-GPU rendering was the use of AFR which leads to an, IMO, less than satisfactory gaming experience even if it leads to better benchmarking. Would multi-GPU have done better if the gaming experience was indistinguishable from single GPU rendering?

    Of course, that still doesn't address another drawback of multi-GPU rendering in that it requires the game to properly support it. But it at least removes one of the significant roadblocks for having a good multi-GPU experience.

    Regards,
    SB
     
  5. trinibwoy

    trinibwoy Meh
    Legend

    Joined:
    Mar 17, 2004
    Messages:
    10,430
    Likes Received:
    433
    Location:
    New York
    Even if developers want to support SFR it won't be easy to perfectly balance the workload between multiple GPUs. There's also a greater dependency on inter GPU transfers.

    Would love to see them try though. It could be a great way to take advantage of asymmetrical multi-GPU setups without the need for SLI/Crossfire driver voodoo and without all the scalability and compatibility problems.
     
  6. ToTTenTranz

    Legend Veteran Subscriber

    Joined:
    Jul 7, 2008
    Messages:
    9,971
    Likes Received:
    4,564
    Does this SFR implementation avoid the need to have the same graphics data in both graphics cards?

    For 4GB cards like the R290, it would be great if Mantle's SFR Crossfire "looks" at two cards as a single 8GB one.
    This could come in handy as graphics memory requirements for PC games start ballooning.
     
  7. trinibwoy

    trinibwoy Meh
    Legend

    Joined:
    Mar 17, 2004
    Messages:
    10,430
    Likes Received:
    433
    Location:
    New York

    That's doubtful as you would still need to provision memory for the worst case scenario on each GPU. Even if you render your massive high resolution shadow maps on a different card they still have to be sent to the primary card for compositing.

    Maybe one day GPUs will have true NUMA support with high bandwidth interconnects between discrete chips.
     
  8. ToTTenTranz

    Legend Veteran Subscriber

    Joined:
    Jul 7, 2008
    Messages:
    9,971
    Likes Received:
    4,564

    So all the data must be in the "host" GPU? They can't simply use pointers for memory addresses so they don't have to host unnecessary textures, for example?
     
  9. lanek

    Veteran

    Joined:
    Mar 7, 2012
    Messages:
    2,469
    Likes Received:
    315
    Location:
    Switzerland
  10. MfA

    MfA
    Legend

    Joined:
    Feb 6, 2002
    Messages:
    6,806
    Likes Received:
    473
    What I would like is for cards to be able to copy on use. With SFR you will have reasonably good spatial coherence inside the shadow map, so you won't generally need all of it. Memory wise you still need to provision for the entire copy, but bandwidth wise you could do with less.

    Simply copying a block of memory on access would be a lot less work to implement than NUMA.
     
  11. imaxx

    Newcomer

    Joined:
    Mar 9, 2012
    Messages:
    131
    Likes Received:
    1
    Location:
    cracks
    If memory map is kept by CPU, and PCI transfers are commanded by it, it is entirely possible, and probably not even THAT hard to do...
     
  12. sebbbi

    Veteran

    Joined:
    Nov 14, 2007
    Messages:
    2,924
    Likes Received:
    5,288
    Location:
    Helsinki, Finland
    Our shadow mapping algorithm would automatically split the shadow rendering roughly 50/50 between the GPUs. Memory usage would also split pretty much evenly. This is because we render all our shadows in tiny tiles. We analyze the depth buffer to determine which tiles are needed. Both GPUs would analyze their half of the depth buffer and render the shadow map tiles that their half of the screen needs. There would be small amount of duplicate work as some tiles (at the center of the screen) would be visible on both halves of the screen (as the shadow space tiles arent screen aligned). But that would be acceptable.

    If DX12 allows direct control over SLI/Crossfire, we would be finally able to support multi-GPU technologies. That would be interesting. I would definitely prefer SFR over AFR if I designed multi-GPU support to our tech. Latency is so important for our games.

    Both GPUs could also handle their own virtual texturing, meaning that texture memories do not need to be duplicated either. Obviously it would be a good call to copy data between GPUs when one of them has data in VT cache that the other needs (this would definitely beat loading the same data from the HDD).
     
Loading...

Share This Page

  • About Us

    Beyond3D has been around for over a decade and prides itself on being the best place on the web for in-depth, technically-driven discussion and analysis of 3D graphics hardware. If you love pixels and transistors, you've come to the right place!

    Beyond3D is proudly published by GPU Tools Ltd.
Loading...