nV News Forums

 
 

nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   horrible 2D performance (http://www.nvnews.net/vbulletin/showthread.php?t=62820)

ppd 01-04-06 06:31 PM

horrible 2D performance
 
Hello,

I run a ubuntu breezy box with a 2.6.14 kernel patched with the archk7 patches.
I have compiled the latest NVIDIA driver and this one gives me a horrible 2d performance. (both with renderaccel enabled and disabled)
Everything feels very unsnappy. So I ran gtkperf to see if this issue was real, and this is what I got:

nv X.org driver:

GtkPerf 0.40 - Starting testing: Wed Jan 4 23:56:11 2006

GtkEntry - time: 0,12
GtkComboBox - time: 2,56
GtkComboBoxEntry - time: 2,34
GtkSpinButton - time: 0,33
GtkProgressBar - time: 0,17
GtkToggleButton - time: 0,97
GtkCheckButton - time: 0,89
GtkRadioButton - time: 0,99
GtkTextView - Add text - time: 2,13
GtkTextView - Scroll - time: 1,13
GtkDrawingArea - Lines - time: 0,28
GtkDrawingArea - Circles - time: 0,69
GtkDrawingArea - Text - time: 4,67
GtkDrawingArea - Pixbufs - time: 1,00
---
Total time: 18,28

latest nvidia driver:

GtkPerf 0.40 - Starting testing: Wed Jan 4 23:54:03 2006

GtkEntry - time: 0,16
GtkComboBox - time: 3,03
GtkComboBoxEntry - time: 3,10
GtkSpinButton - time: 0,40
GtkProgressBar - time: 0,26
GtkToggleButton - time: 1,09
GtkCheckButton - time: 0,94
GtkRadioButton - time: 1,07
GtkTextView - Add text - time: 2,05
GtkTextView - Scroll - time: 1,22
GtkDrawingArea - Lines - time: 0,30
GtkDrawingArea - Circles - time: 0,61
GtkDrawingArea - Text - time: 1,37
GtkDrawingArea - Pixbufs - time: 0,49
---
Total time: 16,11

Alltogether, the nv driver renders everything faster exept Text and Pixbufs.
Can that be?

Im looking forward to reading some suggestions...

Greetings, Max

Bratag 01-04-06 11:41 PM

Re: horrible 2D performance
 
Quote:

Originally Posted by ppd
Hello,

I run a ubuntu breezy box with a 2.6.14 kernel patched with the archk7 patches.
I have compiled the latest NVIDIA driver and this one gives me a horrible 2d performance. (both with renderaccel enabled and disabled)
Everything feels very unsnappy. So I ran gtkperf to see if this issue was real, and this is what I got:

nv X.org driver:

GtkPerf 0.40 - Starting testing: Wed Jan 4 23:56:11 2006

GtkEntry - time: 0,12
GtkComboBox - time: 2,56
GtkComboBoxEntry - time: 2,34
GtkSpinButton - time: 0,33
GtkProgressBar - time: 0,17
GtkToggleButton - time: 0,97
GtkCheckButton - time: 0,89
GtkRadioButton - time: 0,99
GtkTextView - Add text - time: 2,13
GtkTextView - Scroll - time: 1,13
GtkDrawingArea - Lines - time: 0,28
GtkDrawingArea - Circles - time: 0,69
GtkDrawingArea - Text - time: 4,67
GtkDrawingArea - Pixbufs - time: 1,00
---
Total time: 18,28

latest nvidia driver:

GtkPerf 0.40 - Starting testing: Wed Jan 4 23:54:03 2006

GtkEntry - time: 0,16
GtkComboBox - time: 3,03
GtkComboBoxEntry - time: 3,10
GtkSpinButton - time: 0,40
GtkProgressBar - time: 0,26
GtkToggleButton - time: 1,09
GtkCheckButton - time: 0,94
GtkRadioButton - time: 1,07
GtkTextView - Add text - time: 2,05
GtkTextView - Scroll - time: 1,22
GtkDrawingArea - Lines - time: 0,30
GtkDrawingArea - Circles - time: 0,61
GtkDrawingArea - Text - time: 1,37
GtkDrawingArea - Pixbufs - time: 0,49
---
Total time: 16,11

Alltogether, the nv driver renders everything faster exept Text and Pixbufs.
Can that be?

Im looking forward to reading some suggestions...

Greetings, Max

Look everyone knows 2d perf sucks. Nvidia have acknowledged its on the list of things to be improved. Really the best option here is XGL which is a 3d based Xorg. The 2d stuff can be done with 3d faster and with more cool eye candy.

ppd 01-05-06 07:34 AM

Re: horrible 2D performance
 
Seems that only the 8178 driver has this problem. With 7667 I get with my archck patched kernel almost as good results as with my custom kernel (I think the difference is caused by my running firefox...). However, I don't know if suspend 2 works with nvidia 7667. I'll have a look at xgl, thanks for the hint.

gruß, Max

Enverex 01-05-06 02:11 PM

Re: horrible 2D performance
 
Performance seems fine for me, but I have a generally powerful system. I'm running CK Sources on Gentoo. Result of test and output of emerge (which gives most my system specs) are below.

PHP Code:

GtkPerf 0.40 - Starting testing: Thu Jan  5 19:02:13 2006

GtkEntry
- time:  0.02
GtkComboBox
- time:  0.66
GtkComboBoxEntry
- time:  0.54
GtkSpinButton
- time:  0.07
GtkProgressBar
- time:  0.05
GtkToggleButton
- time:  0.21
GtkCheckButton
- time:  0.18
GtkRadioButton
- time:  0.19
GtkTextView
- Add text - time:  0.33
GtkTextView
- Scroll - time:  0.18
GtkDrawingArea
- Lines - time:  0.15
GtkDrawingArea
- Circles - time:  0.16
GtkDrawingArea
- Text - time:  7.35
GtkDrawingArea
- Pixbufs - time:  0.73
---
Total time: 10.81

============================================

Portage 2.1_pre3-r1 (default-linux/amd64/2005.1, gcc-3.4.5, glibc-2.3.5-r3, 2.6.14-ck7 x86_64)
=================================================================
System uname: 2.6.14-ck7 x86_64 AMD Athlon(tm) 64 X2 Dual Core Processor 3800+
Gentoo Base System version 1.12.0_pre13
dev
-lang/python:     2.3.5-r2, 2.4.2
sys
-apps/sandbox:    1.2.17
sys
-devel/autoconf:  2.13, 2.59-r7
sys
-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys
-devel/binutils:  2.16.1-r1
sys
-devel/libtool:   1.5.22
virtual
/os-headers:  2.6.11-r3
ACCEPT_KEYWORDS
="amd64 ~amd64"
AUTOCLEAN="yes"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=athlon64 -O2 -msse3 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib64/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-march=athlon64 -O2 -msse3 -pipe -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks prelink sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LINGUAS="en"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="amd64 X a52 aac aalib acl acpi aim alsa apm audiofile avi bash-completion berkdb bitmap-fonts bzip2 cddb cdinstall cdparanoia cdr cjk crypt cups curl directfb dri dts dvd dvdr dvdread emboss encode ethereal exif expat fam ffmpeg flac foomaticdb fortran gdbm gif gimp glibc-omitfp glut gnome gpm gstreamer gtk gtk2 guile hal idn imagemagick imlib ipv6 jack java javascript jikes joystick jpeg jpeg2k junit ladspa lcms ldap libcaca libedit libwww lm_sensors lzw lzw-tiff mad matroska mikmod mime mng mozilla mp3 mpeg musepack musicbrainz nas ncurses nls nocd nptl nptlonly nvidia ogg openal opengl pam pcre pdflib perl pic png ppds python qt quicktime readline reiser4 reiserfs samba scanner sdl session sharedmem silc smp speex spell ssl symlink tcltk tcpd tetex tga theora tiff truetype truetype-fonts type1-fonts udev unicode usb userlocales vcd videos vorbis wmf wxgtk1 wxwindows xine xml xml2 xmms xpm xv xvid xvmc zlib elibc_glibc kernel_linux linguas_en userland_GNU"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY

and the graphics card is a nice fast 7800GT to replace the virtually not supported by ATi at all X800XT, heh.

ppd 01-05-06 03:02 PM

Re: horrible 2D performance
 
The latest nvidia driver looses about 20% performance after a suspend2 suspend to disk. Probably a developer could have a look at this issue?

max

PrakashP 01-06-06 06:45 AM

Re: horrible 2D performance
 
GtkPerf 0.40 - Starting testing: Fri Jan 6 12:43:32 2006

GtkEntry - time: 0,06
GtkComboBox - time: 1,35
GtkComboBoxEntry - time: 0,89
GtkSpinButton - time: 0,10
GtkProgressBar - time: 0,05
GtkToggleButton - time: 0,33
GtkCheckButton - time: 0,24
GtkRadioButton - time: 0,38
GtkTextView - Add text - time: 0,84
GtkTextView - Scroll - time: 0,62
GtkDrawingArea - Lines - time: 0,34
GtkDrawingArea - Circles - time: 0,39
GtkDrawingArea - Text - time: 1,15
GtkDrawingArea - Pixbufs - time: 0,08
---
Total time: 6,81

Athlon XP (dynamically clocked from 1375 to 2178 MHz; in the test most of the time at max clock though), Geforce4 (underclocked to core 150, mem 300) with xorg 6.9rc4 renderaccel with grey hinting, gentoo Linux, latest Nvidia driver

Following, CPU clocked at max and Gf4 clocked to default (core 250, mem 550)

GtkPerf 0.40 - Starting testing: Fri Jan 6 12:52:17 2006

GtkEntry - time: 0,04
GtkComboBox - time: 0,96
GtkComboBoxEntry - time: 0,85
GtkSpinButton - time: 0,10
GtkProgressBar - time: 0,07
GtkToggleButton - time: 0,32
GtkCheckButton - time: 0,25
GtkRadioButton - time: 0,37
GtkTextView - Add text - time: 0,82
GtkTextView - Scroll - time: 0,60
GtkDrawingArea - Lines - time: 0,27
GtkDrawingArea - Circles - time: 0,38
GtkDrawingArea - Text - time: 0,87
GtkDrawingArea - Pixbufs - time: 0,09
---
Total time: 6,00


Following default (like first test) but with subpixel hinting enabled:

GtkPerf 0.40 - Starting testing: Fri Jan 6 12:55:20 2006

GtkEntry - time: 0,11
GtkComboBox - time: 1,24
GtkComboBoxEntry - time: 0,95
GtkSpinButton - time: 0,10
GtkProgressBar - time: 0,06
GtkToggleButton - time: 0,35
GtkCheckButton - time: 0,24
GtkRadioButton - time: 0,38
GtkTextView - Add text - time: 0,80
GtkTextView - Scroll - time: 0,61
GtkDrawingArea - Lines - time: 0,34
GtkDrawingArea - Circles - time: 0,39
GtkDrawingArea - Text - time: 10,91
GtkDrawingArea - Pixbufs - time: 0,08
---
Total time: 16,56


@Everex

Your GtkDrawingArea - Text and Pixbufs look horrible. Are you using subpixel hinting?


BTW, have you guys made sure, your mtrr is set up correctly?

lspci -v
02:00.0 VGA compatible controller: nVidia Corporation NV28 [GeForce4 Ti 4200 AGP 8x] (rev a1) (prog-if 00 [VGA])
Flags: bus master, 66MHz, medium devsel, latency 248, IRQ 21
Memory at c8000000 (32-bit, non-prefetchable) [size=16M]
Memory at c0000000 (32-bit, prefetchable) [size=128M]
[virtual] Expansion ROM at c9000000 [disabled] [size=128K]
Capabilities: <access denied>

cat /proc/mtrr
reg00: base=0x00000000 ( 0MB), size=1024MB: write-back, count=1
reg01: base=0xa0000000 (2560MB), size= 512MB: write-combining, count=1
reg02: base=0xc0000000 (3072MB), size= 128MB: write-combining, count=1

Dragoran 01-06-06 07:19 AM

Re: horrible 2D performance
 
I got 11 with the nvidia driver and this with the nvidiadriver+renderaccel:
Quote:

tkPerf 0.40 - Starting testing: Fri Jan 6 13:17:58 2006

GtkEntry - time: 0,02
GtkComboBox - time: 0,54
GtkComboBoxEntry - time: 0,50
GtkSpinButton - time: 0,06
GtkProgressBar - time: 0,04
GtkToggleButton - time: 0,23
GtkCheckButton - time: 0,20
GtkRadioButton - time: 0,22
GtkTextView - Add text - time: 0,32
GtkTextView - Scroll - time: 0,19
GtkDrawingArea - Lines - time: 0,16
GtkDrawingArea - Circles - time: 0,20
GtkDrawingArea - Text - time: 0,15
GtkDrawingArea - Pixbufs - time: 0,22
---
Total time: 3,05

Enverex 01-06-06 07:33 AM

Re: horrible 2D performance
 
Yes, Aliasing set to Subpixel Hinting and Subpixel Hinting set to full else it looks crap.

PHP Code:

01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0092 (rev a1) (prog-if 00 [VGA])
        
Subsystem: XFX Pine Group Inc. Unknown device 2182
        Flags
: bus master, fast devsel, latency 0, IRQ 20
        Memory at d0000000
(32-bit, non-prefetchable) [size=16M]
        
Memory at c0000000 (64-bit, prefetchable) [size=256M]
        
Memory at d1000000 (64-bit, non-prefetchable) [size=16M]
        
I/O ports at 9000 [size=128]
        [
virtual] Expansion ROM at d2000000 [disabled] [size=128K]
        
Capabilities: [60] Power Management version 2
        Capabilities
: [68] Message Signalled Interrupts: 64bit+ Queue=0/0 Enable-
        
Capabilities: [78] Express Endpoint IRQ 0
        Capabilities
: [100] Virtual Channel
        Capabilities
: [128] Power Budgeting


cat
/proc/mtrr
reg00
: base=0x00000000 (   0MB), size=1024MB: write-back, count=1

Setting Aliasing to none makes them look crap, grayscale makes them just look fuzzy and you said that Subpixel hinting (the only one that looks acceptable) slows everything right down.

Is there any way of making them just look aliased like they do in Windows without a massive performance hit?

I have also noticed an issue with some of my letters sometimes overlapping with each other which is a little annoying.

FYI, with it set to monochrome:

PHP Code:

GtkPerf 0.40 - Starting testing: Fri Jan  6 12:33:03 2006

GtkEntry
- time:  0.02
GtkComboBox
- time:  0.67
GtkComboBoxEntry
- time:  0.62
GtkSpinButton
- time:  0.07
GtkProgressBar
- time:  0.03
GtkToggleButton
- time:  0.22
GtkCheckButton
- time:  0.19
GtkRadioButton
- time:  0.21
GtkTextView
- Add text - time:  0.32
GtkTextView
- Scroll - time:  0.18
GtkDrawingArea
- Lines - time:  0.15
GtkDrawingArea
- Circles - time:  0.17
GtkDrawingArea
- Text - time:  3.12
GtkDrawingArea
- Pixbufs - time:  0.60
---
Total time:  6.57


PrakashP 01-06-06 07:38 AM

Re: horrible 2D performance
 
Yes, I'd like to have subpixel aa, as well, but it is just unbearable slow for me. But NVidia knows about it and hopefully one of the next drivers accelerates it properly.

BTW, as I thought your mtrr is missing an entry, try this: (in your case):

Code:

echo "base=0xc0000000 size=0x10000000 type=write-combining" >| /proc/mtrr
I hope I have calced the size correctly. :) Restart X and see whether it helps a bit. I also wonder why latency for your card is set to 0. This should slow down busmaster, afaik. (see http://www-128.ibm.com/developerwork...ary/l-hw2.html) Or is this a PCIe card?

Enverex 01-06-06 08:21 AM

Re: horrible 2D performance
 
It's PCI-E. To be honest, I notice very little to no performance difference with Subpixel hinting on or off, or rather not enough to be bothered about...

I'm also on a 64bit SMP system, so are you sure I should be adding that line?

PrakashP 01-06-06 08:29 AM

Re: horrible 2D performance
 
Well, it tells your sys to use write-combining for your vga ram, so it should speed things up.

LubosD 01-06-06 08:41 AM

Re: horrible 2D performance
 
My total time is 20,79 (subpixel hinting: ON, renderaccel: ON)

But the partial problem is GTK...QT apps are damn faster on my system.


All times are GMT -5. The time now is 09:09 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright ©1998 - 2014, nV News.