Technical Q: SFR vs AFR

Thannatos

n00b
Joined
Jun 20, 2008
Messages
11
The basic question: What is the advantage of AFR vs SFR, and why have both Nvidia and ATI decided to hop on the AFR bandwagon?

I can see the simplicity of AFR: have different GPU's work on different frames to speed up display. I remember the rumors of the 4870x2 sharing memory, but is this really possible if you are AFR'ing? Each GPU creating a different frame cannot write to the same buffer: it would be overwriting the buffer of the previous frame (and we run into the problems of triple buffering with V-sync, namely, the over-use of memory and saturating the bandwidth when rendering falls below the refresh rate).

With that in mind, why is SFR not adopted? In the past, Nvidia used a crazy algorithm to break apart the screen according to rendering difficulty, thus having the two GPU's write the parts in just about the same amount of time. The problem was this eating into CPU time. Why not use a simple algorithm (break the screen into halves if two cards, thirds if three cards, and fourths if four cards) and write to the same buffer? Then you can use shared buffer, and the cards would be producing smaller pixel counts, allowing an insane boost in performance while cranking up AA and AF.

What are the technical limitations to SFR that cause AFR to dominate and make shared memory nothing more than a pipe dream?
 
Without knowing much at all about the inner workings of current multi-gpu algorithms, it would seem to me that AFR would be by far the simplest and most consistently effective method. Splitting, as you mentioned, either eats into CPU time, or performance varies wildly (if you use a static splitting point). Supertiling (checkerboard) sounds good in principle but I don't know much about it's practical application.
 
Just simply dividing the screen into equal sections can lead to issues where one card gets a very simple rendering job and the other gets a very complex one. The first card will be finished and waiting around for the next job while the second is still busy. It's very wasteful and doesn't offer much benefit over a single GPU for the cost.
 
Back
Top