After upgrading from Intrepid (8.10) to Jaunty (9.04) I noticed a noticeable performance hit, in 2d and 3d applications on my Ubuntu system, running a (rather crappy) Intel 945GM mobile graphics chip. After poking around on the Ubuntu forums I found this thread. The problem seems to be the switch between EXA and UXA in the new intel driver.
More tech talk and a solution behind the cut.
This Ubuntu wiki article explains it quite nicely:
EXA was introduced as a stopgap measure, to provide better integration with XRender than XAA did. In practice, while this proved quite advantageous in some respects, it also exhibited a number of corner cases and regressions.
The next stage of development, UXA, reimplements the EXA api using the new Graphics Execution Manager (GEM), a memory manager that better leverages the Linux kernel. EXA also now uses GEM (they share the same render acceleration code now).
Although the beforementioned forum thread talks about very tedious fiddling with new modules, experimental kernels and edge repositories, I found that a serious performance gain can be made by forcing the XServer to use the UXA mode, which might be unstable on some systems, but seems to run good here:
Section "Device" Identifier "Configured Video Device" # ... Option "AccelMethod" "uxa" EndSection
Backing up your config file first is always a good idea. Good luck!