You are not logged in.

#1 2010-05-02 13:32:46

kokoko3k
Member
Registered: 2008-11-14
Posts: 1,669

Make kde4 use raster instead of native graphic system

Running kde4 on slower machines can be helped by a trick which comes with qt4.
This is the ability to choose a different method to render things.
in general every application which uses qt4 toolkit comes with an option: "--graphicssystem"
It's parameter can be: native, raster and opengl.
The faster is opengl, but it is very buggy and it's like to corrupt kde icon cache sometimes, the default one is native, slower than raster, but has good performance over network (freenx, ssh -Y benefits from it) , that's the reason because kde devs choose to use it.
Raster is slower than opengl, but stable, and faster than native on localhost; other drawbacks of raster graphics system is that it doesn't seems to support subpixel AA very well (if not at all, can't say for sure).

By the way, i wrote some scripts which switch kde applications to raster/native.
I run them every time a kde package is updated, here they comes.

netbook kokonicki # cat /usr/local/bin/goraster.sh 

#changing plasma-desktop is up to you, expect uglier fonts:
#makeraster.sh /usr/share/autostart/plasma-desktop.desktop

for file in  $(ls /usr/share/applications/kde4/*.desktop) ; do
        makeraster.sh  $file
done
#don't do on kfmclient
for file in  $(ls /usr/share/applications/kde4/kfmclien*.desktop) ; do
        makenative.sh $file
done
#write exceptions here:
#       makenative.sh /usr/share/applications/kde4/konsole.desktop
netbook kokonicki # cat /usr/local/bin/gonative.sh 
#!/bin/bash
makenative.sh /usr/share/autostart/plasma-desktop.desktop
for file in $(ls /usr/share/applications/kde4/*.desktop) ; do
 makenative.sh $file
done
netbook kokonicki # cat /usr/local/bin/makeraster.sh 
#!/bin/bash
EXEC="Exec="
RASTER="--graphicssystem raster"
#unset raster:
        sed -i "s/$RASTER//g" $1
#set raster again:
        sed -i "s/$EXEC.*/& $RASTER/g" $1
#remove double spaces
        sed -i "s/  / /g" $1
#do again :p
        sed -i "s/  / /g" $1
netbook kokonicki # cat /usr/local/bin/makenative.sh 
#!/bin/bash
EXEC="Exec="
RASTER="--graphicssystem raster"
#unset raster:
        sed -i "s/$RASTER//g" $1

Now issuing (as root): /usr/local/bin/goraster.sh
and restarting kde, should give you a nice speed boost in most kde applicazions.
Try yourself with okular (zooming in/out), gwenview or resizing a plasma widget.
to go back, just run (as root) /usr/local/bin/gonative.sh

Have fun!

Last edited by kokoko3k (2010-05-02 13:46:39)

Offline

#2 2010-05-04 12:07:22

SanskritFritz
Member
From: Budapest, Hungary
Registered: 2009-01-08
Posts: 1,711
Website

Re: Make kde4 use raster instead of native graphic system

Useful, thanks!


zʇıɹɟʇıɹʞsuɐs AUR || Cycling in Budapest with a helmet camera || Revised log levels proposal: "FYI" "WTF" and "OMG" (John Barnette)

Offline

#3 2010-08-20 22:00:35

emtorres
Member
From: Corrientes, Argentina
Registered: 2010-03-03
Posts: 11
Website

Re: Make kde4 use raster instead of native graphic system

nice, thanks!

Offline

#4 2010-08-22 03:47:01

heleos
Member
From: Maine, USA
Registered: 2007-04-24
Posts: 678

Re: Make kde4 use raster instead of native graphic system

I feel like I'm doing something really stupid... But I copied all the files over, and tried to run, and I get this:

[root@xps ~]# /usr/local/bin/goraster.sh 
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 6: makeraster.sh: command not found
/usr/local/bin/goraster.sh: line 10: makenative.sh: command not found
/usr/local/bin/goraster.sh: line 10: makenative.sh: command not found
/usr/local/bin/goraster.sh: line 10: makenative.sh: command not found
/usr/local/bin/goraster.sh: line 10: makenative.sh: command not found

edit: looks ok now, had to put the whole path in the goraster file for the makeraster and makenative scripts

Last edited by heleos (2010-08-22 03:51:22)

Offline

#5 2010-08-22 07:24:08

Vamp898
Member
From: ドイツではまだ住んでいる
Registered: 2009-01-03
Posts: 866
Website

Re: Make kde4 use raster instead of native graphic system

Offline

Board footer

Powered by FluxBB