firefox is slow because Xorg?

Hi!

to make firefox 3.0.5 acting faster on OpenSuse 11.0, I’ve done many things yet:

-flush cache / private data
-deactivate plugins (especially flash)
-downgrade Xorg-video-drivers
-deactivate Desktop Effects
-disable IPv6
-using proprietary NVIDIA drivers

but firefox remains so slowly (navigating between some tabs, opening menus, cursor is only blinking every 2 seconds in formulars eg in google.com search field).

[konqueror is running much faster than firefox on my Riva TNT 2 Ultra 32MB.]

$tops shows, that when firefox is consuming much CPU (~50%), Xorg is doing also!

So there must be a relation between firefox slowness and Xorg.

Any idea what I may check, too?

Do you have the following symptoms that activates X.org:

-Moving any window erratically
-Scrolling on firefox
-Watching a movie on full screen

40% cpu

-Scrolling on firefox

35%

-Watching a movie on full screen

20%

same here, since 11.0. I’ve the impression that windows are drawn more slowly then before, is it related to Xorg or KDE4/Qt4?

I don’t think it can be an issue with KDE4/Qt4 as I’ve seen good performance with that combo, on some rather old boxen, that are below spec for modern desktop.

For me, the performance of Firefox 3.0.4 & 3.0.5 has been excellent. I use many plug ins like, noscript, Adblock plus, Flashblock, WoT, fast video download, hash coloured tabs and sometimes download status bar.

In 11.1 - may be some issues are in your 11.0 installation (via upgrades?)

There’s large performance problems with the new Intel driver defaulting to EXA (new method) rather than the older XAA. That may affect you.

There’s also been reports of problems with the proprietary Nvidia driver, perhaps try ‘nv’ for a bit for web-browsing and see if that helps 2D performance.

Firefox 3, had a problem that it’s fsync-ing was killing system performance, but I think that’s been fixed.

If you have AMD 64 X2 chips, then there’s issues with CPUFREQ in 11.1 kernels at least, try :

egrep ‘cpu|mips|AMD’ and see if your bogomips is suspiciously low

I’m using KDE 3.5 because KDE 4 is slower.

I can confirm your impression that kde windows drawing seems anyway slow.

But my system is not swapping (the system has 512 MB and uses 280MB after startup).
Further the only processes which heavily consume cpu are firefox and Xorg!

Which CPU and graphic card do you use?

In 11.1 - may be some issues are in your 11.0 installation (via upgrades?)

I’ve installed all available updates in YaST -> Online updates (but I’m not sure, if really the newest updates get rescieved by yast - perhaps I need to change to a NON-DEFAULT and more current repository?).

There’s large performance problems with the new Intel driver defaulting to EXA (new method) rather than the older XAA. That may affect you.

Using XAA.

There’s also been reports of problems with the proprietary Nvidia driver, perhaps try ‘nv’ for a bit for web-browsing and see if that helps 2D performance.

Now using nv - problem persists.

If you have AMD 64 X2 chips, then there’s issues with CPUFREQ in 11.1 kernels at least, try :
egrep ‘cpu|mips|AMD’ and see if your bogomips is suspiciously low

No, Intel Celeron 466 MHz.

Because Xorg is suspicious, I’ve attached (a shortened) Xorg.0.log - maybe anything useful for this in it.

greetings



X.Org X Server 1.4.0.90
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
Build Operating System: openSUSE SUSE LINUX
Current Operating System: Linux haus 2.6.25.5-1.1-default #1 SMP 2008-06-07 01:55:22 +0200 i686
Build Date: 28 July 2008  10:14:56PM
 
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Tue Dec 23 11:59:00 2008
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "Layout[all]"
(**) |-->Screen "Screen[0]" (0)
(**) |   |-->Monitor "Monitor[0]"
(**) |   |-->Device "Device[0]"
(**) |-->Input Device "Keyboard[0]"
(**) |-->Input Device "Mouse[1]"
(**) Option "ZapWarning" "on"
(**) Option "AllowMouseOpenFail" "on"
(**) Option "Xinerama" "off"
(==) Automatically adding devices
(==) Automatically enabling devices
(WW) The directory "/usr/share/fonts/local" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/share/fonts/PEX" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/share/fonts/latin2/misc" does not exist.
	Entry deleted from font path.
(WW) The directory "/usr/share/fonts/latin2/75dpi" does not exist.
	Entry deleted 
[shortened]

 path /usr/share/fonts/misc:unscaled,/usr/share/fonts/TTF/,/usr/share/fonts/OTF,/usr/share/fonts/Type1/,/usr/share/fonts/100dpi:unscaled,/usr/share/fonts/75dpi:unscaled.
(**) FontPath set to:
	/usr/share/fonts/misc:unscaled,
[shortened]
(==) RgbPath set to "/usr/share/X11/rgb"
(**) Input device list set to "/dev/gpmdata,/dev/input/mice"
(==) ModulePath set to "/usr/lib/xorg/modules/updates,/usr/lib/xorg/modules"
(**) Extension "Composite" is disabled
(II) Open ACPI successful (/var/run/acpid.socket)
(II) Loader magic: 0x81e65a0
(II) Module ABI versions:
	X.Org ANSI C Emulation: 0.3
	X.Org Video Driver: 2.0
	X.Org XInput driver : 2.0
	X.Org Server Extension : 0.3
	X.Org Font Renderer : 0.5
(II) Loader running on linux
(II) LoadModule: "pcidata"
(II) Loading /usr/lib/xorg/modules//libpcidata.so
(II) Module pcidata: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 1.0.0
	ABI class: X.Org Video Driver, version 2.0
(++) using VT number 7

(II) PCI: PCI scan (all values are in hex)
(II) PCI: 00:00:0: chip 8086,7190 card 0000,0000 rev 03 class 06,00,00 hdr 00
[shortened]
(II) PCI: End of PCI scan
(II) Host-to-PCI bridge:
(II) Bus 0: bridge is at (0:0:0), (0,0,1), BCTRL: 0x0008 (VGA_EN is set)
(II) Bus 0 I/O range:
	[0] -1	0	0x00000000 - 0x0000ffff (0x10000) IX**
(II) Bus 0 non-prefetchable memory range:
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX**
(II) Bus 0 prefetchable memory range:
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX**
(II) PCI-to-PCI bridge:
(II) Bus 1: bridge is at (0:1:0), (0,1,1), BCTRL: 0x0088 (VGA_EN is set)
(II) Bus 1 I/O range:
	[0] -1	0	0x0000d000 - 0x0000dfff (0x1000) IX**
(II) Bus 1 non-prefetchable memory range:
	[0] -1	0	0xdc000000 - 0xddffffff (0x2000000) MX**
(II) Bus 1 prefetchable memory range:
	[0] -1	0	0xde000000 - 0xdfffffff (0x2000000) MX**
(II) PCI-to-ISA bridge:
(II) Bus -1: bridge is at (0:7:0), (0,-1,-1), BCTRL: 0x0008 (VGA_EN is set)
(--) PCI:*(1:0:0) nVidia Corporation NV5 [RIVA TNT2/TNT2 Pro] rev 17, Mem @ 0xdc000000/24, 0xde000000/25, BIOS @ 0xdd000000/16
(II) Addressable bus resource ranges are
	[0] -1	0	0x00000000 - 0xffffffff (0x0) MX**
	[1] -1	0	0x00000000 - 0x0000ffff (0x10000) IX**
(II) OS-reported resource ranges:
	[0] -1	0	0x00100000 
[shortened]
(II) "extmod" will be loaded. This was enabled by default and also specified in the config file.
(II) "dbe" will be loaded. This was enabled by default and also specified in the config file.
(II) "glx" will be loaded. This was enabled by default and also specified in the config file.
(II) "freetype" will be loaded. This was enabled by default and also specified in the config file.
(II) "type1" will be loaded. This was enabled by default and also specified in the config file.
(II) "record" will be loaded by default.
(II) "dri" will be loaded by default.
(II) LoadModule: "dbe"
(II) Loading /usr/lib/xorg/modules//extensions/libdbe.so
(II) Module dbe: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 0.3
(II) Loading extension DOUBLE-BUFFER
(II) LoadModule: "type1"
(II) Loading /usr/lib/xorg/modules//fonts/libtype1.so
(II) Module type1: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 1.0.2
	Module class: X.Org Font Renderer
	ABI class: X.Org Font Renderer, version 0.5
(II) Loading font Type1
(II) LoadModule: "freetype"
(II) Loading /usr/lib/xorg/modules//fonts/libfreetype.so
(II) Module freetype: vendor="X.Org Foundation & the After X-TT Project"
	compiled for 1.4.0.90, module version = 2.1.0
	Module class: X.Org Font Renderer
	ABI class: X.Org Font Renderer, version 0.5
(II) Loading font FreeType
(II) LoadModule: "extmod"
(II) Loading /usr/lib/xorg/modules//extensions/libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 1.0.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 0.3
(II) Loading extension SHAPE
(II) Loading extension MIT-SUNDRY-NONSTANDARD
(II) Loading extension BIG-REQUESTS
(II) Loading extension SYNC
(II) Loading extension MIT-SCREEN-SAVER
(II) Loading extension XC-MISC
(II) Loading extension XFree86-VidModeExtension
(II) Loading extension XFree86-Misc
(II) Loading extension XFree86-DGA
(II) Loading extension DPMS
(II) Loading extension TOG-CUP
(II) Loading extension Extended-Visual-Information
(II) Loading extension XVideo
(II) Loading extension XVideo-MotionCompensation
(II) Loading extension X-Resource
(II) LoadModule: "glx"
(II) Loading /usr/lib/xorg/modules//extensions/libglx.so
(II) Module glx: vendor="NVIDIA Corporation"
	compiled for 4.0.2, module version = 1.0.0
	Module class: XFree86 Server Extension
	ABI class: XFree86 Server Extension, version 0.1
(II) NVIDIA GLX Module  71.86.06  Wed Jul  2 12:24:18 PDT 2008
(II) Loading extension GLX
(II) LoadModule: "record"
(II) Loading /usr/lib/xorg/modules//extensions/librecord.so
(II) Module record: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 1.13.0
	Module class: X.Org Server Extension
	ABI class: X.Org Server Extension, version 0.3
(II) Loading extension RECORD
(II) LoadModule: "dri"
(II) Loading /usr/lib/xorg/modules//extensions/libdri.so
(II) Module dri: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 1.0.0
	ABI class: X.Org Server Extension, version 0.3
(II) Loading extension XFree86-DRI
(II) LoadModule: "nv"
(II) Loading /usr/lib/xorg/modules//drivers/nv_drv.so
(II) Module nv: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 2.1.9
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 2.0
(II) LoadModule: "kbd"
(II) Loading /usr/lib/xorg/modules//input/kbd_drv.so
(II) Module kbd: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 1.3.1
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 2.0
(II) LoadModule: "mouse"
(II) Loading /usr/lib/xorg/modules//input/mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 1.3.0
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 2.0
(II) NV: driver for NVIDIA chipsets: RIVA 128, RIVA TNT, RIVA TNT2,
	Unknown TNT
[shortened]
(II) Primary Device is: PCI 01:00:0
(--) Chipset RIVA TNT2 found



(II) resource ranges after xf86ClaimFixedResources() call:
	[0] -1	0	0x00100000 - 0x3fffffff (0x3ff00000) MX**E(B)
	[1] -1	0	
[shortened]
(II) Setting vga for screen 0.
(II) Loading sub module "int10"
(II) LoadModule: "int10"
(II) Loading /usr/lib/xorg/modules//libint10.so
(II) Module int10: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 1.0.0
	ABI class: X.Org Video Driver, version 2.0
(II) NV(0): Initializing int10
(II) NV(0): Primary V_BIOS segment is: 0xc000
(--) NV(0): Chipset: "RIVA TNT2"
(**) NV(0): Depth 16, (--) framebuffer bpp 16
(==) NV(0): RGB weight 565
(==) NV(0): Default visual is TrueColor
(II) Loading sub module "vgahw"
(II) LoadModule: "vgahw"
(II) Loading /usr/lib/xorg/modules//libvgahw.so
(II) Module vgahw: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 0.1.0
	ABI class: X.Org Video Driver, version 2.0
(==) NV(0): Using HW cursor
(--) NV(0): Linear framebuffer at 0xDE000000
(--) NV(0): MMIO registers at 0xDC000000
(II) Loading sub module "i2c"
(II) LoadModule: "i2c"(II) Module "i2c" already built-in
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"(II) Module "ddc" already built-in
(II) NV(0): I2C bus "DDC" initialized.
(II) NV(0): Probing for EDID on I2C bus A...
(II) NV(0): I2C device "DDC:ddc2" registered at address 0xA0.
(--) NV(0): DDC detected a CRT:
(II) NV(0): Manufacturer: MAX  Model: 178e  Serial#: 1239
(II) NV(0): Year: 2000  Week: 18
(II) NV(0): EDID Version: 1.0
(II) NV(0): Analog Display Input,  Input Voltage Level: 0.714/0.286 V
(II) NV(0): Sync:  Separate
(II) NV(0): Max H-Image Size [cm]: horiz.: 36  vert.: 27
(II) NV(0): Gamma: 2.76
(II) NV(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display
(II) NV(0): redX: 0.609 redY: 0.342   greenX: 0.298 greenY: 0.588
(II) NV(0): blueX: 0.150 blueY: 0.063   whiteX: 0.280 whiteY: 0.311
(II) NV(0): Supported VESA Video Modes:
(II) NV(0): 640x480@60Hz
(II) NV(0): 640x480@75Hz
(II) NV(0): 800x600@75Hz
(II) NV(0): 1024x768@75Hz
(II) NV(0): 1280x1024@75Hz
(II) NV(0): Manufacturer's mask: 0
(II) NV(0): Supported Future Video Modes:
(II) NV(0): #0: hsize: 800  vsize 600  refresh: 85  vid: 22853
(II) NV(0): #1: hsize: 1024  vsize 768  refresh: 85  vid: 22881
[shortened]
(II) NV(0): v_active: 768  v_sync: 769  v_sync_end 772 v_blanking: 800 v_border: 0
(II) NV(0): EDID (in hex):
(II) NV(0): 	00ffffffffffff0034388e17d7040000
(II) NV(0): 	120a010028241bb0e8269e9c574c9626
(II) NV(0): 	10474f2443004559615961688199a94f
(II) NV(0): 	010101010101c31e0020410020301060
(II) NV(0): 	130004030000001ec31e002041002030
(II) NV(0): 	1060130004030000001ec31e00204100
(II) NV(0): 	20301060130004030000001ec31e0020
(II) NV(0): 	410020301060130004030000001e0011
(II) NV(0): Using CRT on CRTC 0
(II) NV(0): EDID vendor "MAX", prod id 6030
(II) NV(0): Printing DDC gathered Modelines:

(II) NV(0): Modeline "1280x1024"x0.0  135.00  1280 1296 1440 1688  1024 1025 1028 1066 +hsync +vsync (80.0 kHz)

[shortened]

(II) NV(0): Not using default mode "1280x1024" (height too large for virtual size)
(II) NV(0): Not using default mode "1280x1024" (height too large for virtual size)
(--) NV(0): Virtual size is 1280x960 (pitch 1280)
(**) NV(0): *Default mode "1280x960": 148.5 MHz, 85.9 kHz, 85.0 Hz
(II) NV(0): Modeline "1280x960"x85.0  148.50  1280 1344 1504 1728  960 961 964 1011 +hsync +vsync (85.9 kHz)
(**) NV(0): *Default mode "1152x864": 108.0 MHz, 67.5 kHz, 75.0 Hz

[shortened]

(**) NV(0): Display dimensions: (360, 270) mm
(**) NV(0): DPI set to (90, 90)
(II) Loading sub module "fb"
(II) LoadModule: "fb"
(II) Loading /usr/lib/xorg/modules//libfb.so
(II) Module fb: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 1.0.0
	ABI class: X.Org ANSI C Emulation, version 0.3
(II) Loading sub module "xaa"
(II) LoadModule: "xaa"
(II) Loading /usr/lib/xorg/modules//libxaa.so
(II) Module xaa: vendor="X.Org Foundation"
	compiled for 1.4.0.90, module version = 1.2.0
	ABI class: X.Org Video Driver, version 2.0
(II) Loading sub module "ramdac"
(II) LoadModule: "ramdac"(II) Module "ramdac" already built-in
(II) do I need RAC?  No, I don't.
(II) resource ranges after preInit:
	[0] 0	0	0xde000000 - 0xdfffffff (0x2000000) MX**
	
[shortened]
(==) NV(0): Write-combining range (0xde000000,0x2000000)
(II) NV(0): Using XFree86 Acceleration Architecture (XAA)
	Screen to screen bit blits
	Solid filled rectangles
	8x8 mono pattern filled rectangles
	Indirect CPU to Screen color expansion
	Solid Lines
	Scanline Image Writes
	Setting up tile and stipple cache:
		32 128x128 slots
		32 256x256 slots
		16 512x512 slots
(==) NV(0): Backing store disabled
(==) NV(0): Silken mouse enabled
(**) Option "dpms"
(**) NV(0): DPMS enabled
(WW) NV(0): Option "AccelMethod" is not used
(WW) NV(0): Option "CalcAlgorithm" is not used
(WW) NV(0): Option "PreferredMode" is not used
(==) RandR enabled
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension XC-APPGROUP
(II) Initializing built-in extension XAccessControlExtension
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFIXES
(II) Initializing built-in extension XFree86-Bigfont
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(II) Initializing built-in extension COMPOSITE
(II) Initializing built-in extension DAMAGE
(II) Initializing built-in extension XEVIE
(EE) Failed to initialize GLX extension (NVIDIA X driver not found)
(**) Option "CoreKeyboard"
(**) Keyboard[0]: always reports core events
(**) Option "Protocol" "Standard"
(**) Keyboard[0]: Protocol: Standard
(**) Option "AutoRepeat" "500 30"
(**) Option "XkbRules" "xfree86"
(**) Keyboard[0]: XkbRules: "xfree86"
(**) Option "XkbModel" "microsoftpro"
(**) Keyboard[0]: XkbModel: "microsoftpro"
(**) Option "XkbLayout" "de"
(**) Keyboard[0]: XkbLayout: "de"
(**) Option "XkbVariant" "nodeadkeys"
(**) Keyboard[0]: XkbVariant: "nodeadkeys"
(**) Option "CustomKeycodes" "off"
(**) Keyboard[0]: CustomKeycodes disabled
(**) Option "Protocol" "microsoft"
(**) Mouse[1]: Device: "/dev/ttyS0"
(**) Mouse[1]: Protocol: "microsoft"
(**) Option "CorePointer"
(**) Mouse[1]: always reports core events
(**) Option "Device" "/dev/ttyS0"
(**) Option "BaudRate" "1200"
(**) Option "StopBits" "1"
(**) Option "DataBits" "7"
(**) Option "Parity" "None"
(**) Option "Vmin" "1"
(**) Option "Vtime" "0"
(**) Option "FlowControl" "None"
(**) Option "Emulate3Buttons" "on"
(**) Mouse[1]: Emulate3Buttons, Emulate3Timeout: 50
(**) Mouse[1]: ZAxisMapping: buttons 4 and 5
(**) Mouse[1]: Buttons: 9
(**) Mouse[1]: Sensitivity: 1
(**) Mouse[1]: BaudRate: 1200
(II) evaluating device (Mouse[1])
(II) XINPUT: Adding extended input device "Mouse[1]" (type: MOUSE)
(II) evaluating device (Keyboard[0])
(II) XINPUT: Adding extended input device "Keyboard[0]" (type: KEYBOARD)
Could not init font path element /usr/share/fonts/TTF/, removing from list!
Could not init font path element /usr/share/fonts/OTF, removing from list!

I gave up on FF and installed Opera, it’s 10x’s faster.

freistoff,

As far as X performance is concerned with KDE4 I think it could be a combination of the graphics card you use and the driver for it.

Looking through your X logs, unless the nv driver is detecting your card incorrectly, it seems that you are running a pretty ancient graphics card - one based around a nVidia Riva TNT2. I had one of these in the mid-1990’s (over 10 years ago) and continued having it around until several months ago. Now, there is no problem with this but are you running the correct proprietary nVidia driver for the card? There are at least three/four versions available of the driver and the one you want is the oldest version of the lot. nVidia dropped support for this series of chipsets in their graphics driver a long time ago (a couple of years). I think that the nVidia SuSE repositories still have the old driver but you may want to cross-check on nVidia’s website (there are links available for what drivers support what cards and you are after the oldest legacy driver).

My suggestion is that if you would like better desktop performance is to get a newer AGP based card (unless it is a PCI based card, in which case you may be out of luck though you could possibly drag up a faster card). With the AGP card, the one caveat to this is that you need to check your motherboard as to whether it supports 3.3V. Older AGP was 5V and the newer AGP cards swapped to 3.3V (check this out on Wikipedia). Putting a newer card into an older slot will blow the card.

I was running OpenSuSE 11.0 on a dual P3 with a TNT2 card in it until I got frustrated with it and upgraded to a GeForce 7600 based card. The difference in performance was amazing (though the box was then CPU bound). You could pick up a cheap AGP card from a computer fair or shop that has older parts. I would suggest a minimum of a GeForce 4 MX440.

One thing that I should add to this is that I wouldn’t expect miracles from KDE4 and 3D acceleration on the desktop with it. Unless you are running a pretty new card, the speed of the effects will be poor. This means a minimum of a card that is capable of “DirectX 9” (yes, I know this is a Windows thing but it is a reasonably good comparison since most graphics cards’ boxes specify the level of DirectX support on them). Someone more familiar with the ins and outs of 3D acceleration may be able to offer a better suggestion.

As far as Firefox performance is concerned, well, I have had my fair share of slowness issues. The one big thing that I have found makes a difference is turning off IPv6 support (unless you really need it). This speed up Firefox quite a bit - and I am using 3.0.5 from the OpenSuSE repo.

Good luck!

Hi,

thx for your reply.

I’ve testes firefox 3.05 under Windows 2000 -same machine-, it runs like a champion!

So I have no reason to buy new hardware.

I’ve tested both X drivers: the default nv driver and the proprietary Nvidia driver. Both without luck.

Xorg windows seem to be a little bit slow (opening, resizing).

By the way: The OpenSuse PAL Kernel is slower than the default kernel on my machine.
Unfortunately OpenSUSE is not optimized for -acceptable- speed.

regards

Most probably, it’s Nvidia’s drivers to blame. Keep in mind that proprietary Nvidia drivers don’t really work well with newer cards (8xxx and 9xxx) on Linux.

I just spent the weekend trying to figure this out (had exactly the same problems as you) and this helped a lot:
nVidia 8000/9000 Series Performance Issues - nV News Forums

Essentially, run the following:

nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1 

this improved performance significantly on my machine (I have a 8500 gt nvidia card).

In all likelyhood, it’s not OpenSUSE’s fault, blame NVidia.

Check out the link above, and read instructions there - YMMV, but it helped me a lot.

I now got my snappy desktop back.

Still, it’s not too snappy, and I’m seriously considering spending 100 euros or so and buying a proper ATI card. Compiz and such may suck, but at least 2d will work properly! It’s killing me that I get about the same performance with vesa as I do with NVidia’s cards…

I wrote about this in more detail here:
Unresponsive GUI, slow Firefox, with Nvidia card - EXPLAINED - openSUSE Forums