CrossFire and SLI have been designed to "just work" behind the scenes without any effort by the developer of the application. However, there are a lot of driver side decisions that need to be made about how work should get split between the GPUs that the actual application is better suited to make. ATI and Nvidia have provided ways for developers to do just that but they rarely do. On top of that there is a minefield of scenerios that arise when data is being exchanged between the CPU and GPU that can cause performance issues. Additional problems arise when gpu generated data from the previous frame is used by the gpu on the next frame. These types of dependencies create massive stalls that single GPUs setups never encounter.
ATI and Nvidia both provide detailed information to developers about how to best exploit multi-gpu setups; this information is available publicly but you need to be a graphics programmer to understand it.
The bottom line is that multi-gpu setups are horrendously under untilized unless the developer has taken the time to code a custom rendering path for both CrossFire and SLI configurations. As far as I know no developer has ever done this. Doing so is difficult and requires a great deal of forethought, something that was clearly not done during the development of COD's rendering system.
|