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?
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?