Poor Xinerama Performance
I have encountered some quite serious 2D performance problems with Xinerama and the Nvidia drivers.
Athlon 2800 XP (Barton)
1 Gig Memory
1 x NVS 280 AGP card
2 x NVS 280 PCI cards
Kernal 2.6.15 + Nvidia driver 7167
Kernel 220.127.116.11 + Nvidia driver 8762 (with patches applied)
Up to 6 x 19" LCDs all at 1280x1024, 24bit depth. Mixture of VGA and DVI.
Performance is more or less the same (poor) with either combination of kernel/driver. Performance also seems to degrade as more heads are added ie 2 heads perform better than 4 four heads and 4 heads are better than 6 heads. Performance seems to be independent of whether kernel premption is turned on/off.
I am mostly interested running Java (Swing) applications in this environment, but browser performance and other general performance are also important.
What I have been able to discover so far is that the issue is related to applications that do double buffering. Double buffering in Firefox can be turned off with the viewmanager.do_doublebuffering config option. Setting this to false results in greatly improved page rendering or page scrolling performance. However, there are too many rendering problems for this to be viable workaround.
Performance with Java (Swing) applications can be dramatically improved by turning off double buffering. I would estimate by a factor of 10 or more. For anybody interested, you can do this programmatically with
RepaintManager.currentManager (someComponent ).setDoubleBufferingEnabled (false)
It then stays off globally until turned back on.
Rendering of Swing dialogs etc is generally good (and fast) with double buffering turned off, but there is some flickering with for example text fields that are rapidly updated (several times a second).
So my questions are
1) Does anybody have further insight/explanation of the issues involved here or any references that might help ?
2) Is this related to the Nvidia drivers or purely a Xinerama issue ?