Theoretical fill rate and memory bandwidth peaks don't necessarily dictate real world performance, but they're a good place to start.
|Core clock (MHz)||Pixel pipelines||Peak fill rate (Mpixels/s)||Texture units per pixel pipeline||Peak fill rate (Mtexels/s)||Memory clock (MHz)||Memory bus width (bits)||Peak memory bandwidth (GB/s)|
|Radeon 9600 Pro||400||4||1600||1||1600||600||128||9.6|
|Radeon 9600 XT||500||4||2000||1||2000||600||128||9.6|
|GeForce FX 5600 Ultra||400||4||1600||1||1600||800||128||12.8|
ATI hasn't done anything to increase the Radeon 9600 XT's memory bandwidth over the 9600 Pro, but XT's pixel and texture fill rates lead the pack.
Despite its higher theoretical pixel fill rate peak, the Radeon 9600 XT can't catch the GeForce FX 5600 Ultra in 3DMark03's single-textured fill rate test. However, the tables turn when we look at multi-textured performance, where the 9600 XT has a huge lead over even the 9600 Pro.
The Radeon 9600 XT improves upon the 9600 Pro's already impressive pixel shader performance by a small margin, but the XT really shines in vertex shader performance. A 50% improvement in vertex shader performance suggests maybe ATI spent a little time tweaking more than just the RV360's clock speeds.