Hardware implementation (cont’d)
So what separates a CrossFire board from a regular RADEON card? Simple, CrossFire’s unique compositing engine chip. The compositing engine chip is an external chip located near the graphics core and is responsible for handling all the communication between the two cards, as well as handling blending and arithmetic operations.
By going with an external solution in the compositing engine, CrossFire is able to support a wider variety of cards. As we just mentioned previously, CrossFire supports R420-based X800 PRO/XT cards that were first launched last year. The compositing engine chip can actually communicate with a wide variety of cards, and isn’t picky about the revision of the board or the card’s BIOS. You can also mix and match manufacturers.
Basically, just plug your RADEON card in and the compositing engine onboard your CrossFire card should be able to communicate with it perfectly. NVIDIA’s SLI technology on the other hand requires that the boards come from the same manufacturer and use the same BIOS in order to support SLI (although NVIDIA is working on resolving this).
ATI also feels that their compositing engine boasts lower latency than NVIDIA’s solution, although by press time we weren’t given specific figures or other details such as transistor count.
CrossFire’s software implementation
Like NVIDIA’s SLI, CrossFire supports multiple rendering modes, including alternate frame rendering, scissors, and a new mode which is unique to ATI, supertiling. You’re probably familiar with alternate frame rendering and scissor mode, so we’ll briefly go over those first, before describing supertiling.
With alternate frame rendering (AFR), each card handles alternating frames. Graphics core one handles everything in frame 1, while graphics core two then handles frame number 2. Each chip renders every other frame instead of alternating lines in the same frame, as 3dfx had done with scan-line interleave.
Scissor mode is the equivalent of NVIDIA SLI’s single frame rendering mode, or SFR. In this mode, the workload is split horizontally across the screen. One card takes the upper portion while the second card takes the lower segment. The frame buffer data is then combined and sent to the monitor.
The final rendering mode ATI CrossFire supports is supertiling. In supertiling, the scene is split into 32x32 squares known as “tiles”. Each card then handles alternating tiles which are then output to the display.
The key benefit supertiling brings is performance. Unlike other modes, with supertiling CPU overhead is nearly nonexistent. Because of this, supertiling is the preferred mode for CrossFire and is used by default in all Direct3D applications. For OpenGL, AFR is used for all DOOM 3/Quake 3 engine games, while scissor mode is used for older OpenGL apps.