# [compiz-fusion]problème de perfs quand cpu en charge(résolu)

## gglaboussole

Bonjour,

J'utilises depuis peu compiz-fusion et tout marche à merveille "à vide" mais quand mon cpu est occupé à autre chose : compilation, encodage, etc.. c'est catastrophique   :Crying or Very sad: 

Certes j'ai pas un foudre de guerre : athlon xp 2600, 1giga de ram, Nvidia  Ge force 6800 LE mais quand même !

N'ayant jamais eu de soucis avec le compiz simple j'ai d'abord pensé à désactiver tous les plugins nouveaux, n'ai pas utilisé emerald, bref... tout le plus semblable possible à ma config de bon vieux compiz et : rien de mieux (je sais que glxgears n'est pas un benchmark mais tout de même je passe de 6000 fps à 5fps en charge !!!!! )

Impossible par exemple de regarder un divx et de compiler en même temps ce qui ne me posait vraiment aucun problème auparavant avec le compiz "simple" (j'ai même eu un freeze total hier avec mplayer)

Je pensais pourtant que compiz ainsi que le direct rendering (qui est activé) se chargaient de délester les calculs graphiques du cpu en faveur de la carte graphique, et que donc un cpu "en charge" n'impactait que très peu sur l'affichage video..ce n'est donc pas du tout le cas pour moi...

Aurais je loupé un épisode ? une option magique à activer ou désactiver ?

Le plus bizarre c'est que lorsque ça rame et que je fais un top mon  X consomme environ 2% de mon cpu et 5% de ma ram quant à compiz moins de 1% du cpu et 5% de ma ram

Est ce que modifier le "nice" de mon X et de compiz serait une solution pas trop bourrine ?

Il y a pas d'erreurs dans mes logs d' X au cas où voici les options de la  section device de mon xorg.conf :

```

Section "Device"

    Identifier  "GeForce 6800LE"

    Driver      "nvidia"

    VideoRam    131072

    Option   "RenderAccel" "true"

    Option   "NoLogo" "true"

    Option      "backingstore" "true"

    Option "AllowGLXWithComposite" "true"    

    Option    "DPMS"

    Option   "NvAGP"   "3"

    Option "AddARGBGLXVisuals" "true"

    Option   "XvmcUsesTextures" "1"   

EndSection

```

----------

## gglaboussole

J'ai obtenu un très sensible mieux en suivant ce "tuto" :

http://forum.compiz-fusion.org/archive/index.php/t-1682.html

puis encore un mieux en recompilant mon kernel sans agpgart + option NvAGP "1" dans xorg pour utiliser le driver nvidia à "100%"

mes fps "en charge" sont passé de 5 à 1000 et les effets ne saccadent plus..

je peux maintenant mater un divx et compiler en même temps mais pas en plein écran...  :Mad: 

en fait amha ça marche "trop bien" pour que ça vienne de ma config maintenant...je pense donc que compiz-fusion est réellement plus exigeant niveau matos que compiz tout court

----------

## CryoGen

Vous utilisez quelle commande pour lancer compiz ?

Perso depuis que j'utilise

```
__GL_YIELD="NOTHING" compiz --replace --sm-disable --loose-binding --ignore-desktop-hints ccp &
```

Je n'ai plus de problème  :Smile: 

----------

## gglaboussole

Merci infiniment CryoGen,   :Very Happy:   :Very Happy:   :Very Happy:  l'option --loose-binding  a tout changé !!! ça marche du feu de dieu maintenant !!

J'ai vu sur le site de compiz que le --loose-binding était archi recommandé pour les utilisateurs de nvidia.

Comme je ne comprenais pas par quel moyen et donc avec quelles commandes mon compiz se lançait j'ai viré le "99local" dans env.d dont le tuto de compiz-fusion indiquait la création, remis mon gnome-wm à l'état initial et je me suis fait une commande perso pour le démarrage que j'ai placé dans un fichier.

chmod +x pour le rendre executable puis je l'ai placé dans  /usr/local/bin et  je le lance tout simplement via "gnome-session-properties", le voici :

:

```

__GL_YIELD="NOTHING" compiz --replace --loose-binding ccp & gtk-window-decorator --replace &

```

Merci encore

----------

## GentooUser@Clubic

En effet sans loose-binding tu as du souffrir, perso je lance compiz via fusion-icon et il est donc toujours activé, mais une fois il a été désactivé après une MàJ et j'ai pas mal cherché le problème moi aussi !

Ce topic m'a permis directement et indirectement grâce aux liens fournis de régler des gros problèmes avec Compiz : 

1: Désactiver le "Sync to VBlank" qui ma permis de supprimer tout plantage lors des switch de/vers les consoles  (<ctrl><alt><FX>)

2: Utiliser NvAGP à la place d'AGPART qui semble améliorer grandement la stabilité et les performances de l'ensemble.

3: Pour essayer le 2 j'ai du désactiver AGPART dans le noyau et modifier mon xorg.conf, c'est là que je me suis rendu compte que j'avais accidentellement désactivé l'AGP (AGPART en dur dans le noyau + NvAGP="1" dans xorg.conf = conflit = pas d'AGP), et que les gros problèmes de performances et de stabilité que j'avais mis sur le dos d'un conflit entre les derniers drivers nVidia et le noyau 2.6.23 venais de là. Par contre je ne sais pas quand j'ai mis nvAGP="1" dan mon xorg.conf mais je devais vraiment être beurré   :Razz: 

Enfin merci à tous   :Laughing: 

----------

## gglaboussole

 *GentooUser@Clubic wrote:*   

> 
> 
> 1: Désactiver le "Sync to VBlank" qui ma permis de supprimer tout plantage lors des switch de/vers les consoles  (<ctrl><alt><FX>)
> 
> 

 

Salut,

Cela m'amène à poser une question subsidiaire.. j'ai moi aussi désactiver le Sync to VBlank dans l'onglet "opengl settings" de nvidia settings manager mais il est toujours activé dans l'onglet "X Server Xvideo Settings"...me conseilles tu de le virer ???

De plus dans ccsm "general option" /"display settings" il y a également un Sync to Vblank activé par défaut...devrais je le désactiver ?

Quelle est la différence entre ces 3 Sync to VBlank ??

----------

## GentooUser@Clubic

Celui de nvidia-settings sert à "forcer" le comportement des applications OpenGL donc il faut le désactiver dans nVidia-settings et ccsm.

Pour le Sync to VBlank de XVideo je crois qu'il est de toutes façons désactivé quand Composite est activé, extrait de la doc nVidia (section « 23. The X Composite Extension »)

 *Quote:*   

> On X.Org 7.1 and higher, the driver will properly redirect video into offscreen pixmaps. Note that the Xv adaptors will ignore the sync-to-vblank option when drawing into a redirected window.

  Qu'on me corrige si ce n'est pas la même chose.

De toutes façons les options de nvidia-settings ne concerne que les applications lancé après celui-ci, donc si tu ne lance pas nvidia-settings -l avant compiz ça ne sert à rien d'y toucher !

----------

## gglaboussole

Merci pour ces précisions   :Wink:  ...je vais tester ça demain et je ferais le feed back.

Il m'a pourtant semblé que ça saccadait plus en le décochant, mais c'était quand ça ramait, avant la fameuse option loose-binding...

Quant  aux plantages que tu mentionnes lors des switch vers les consoles je les ai toujours eu moi aussi, également lorsque je faisais "un changement rapide d'utilisateur"...je me retrouvais avec un écran noir et un curseur de souris, contraint au reset (ctrl +alt+ back space inopérant). Du coup si j'avais à switcher vers une autre console je le faisais en partant de gdm, après avoir fermé ma session, quant au changement d'utilisateur je m'abstenais !  si ça règle le problème comme tu le dis alors je serais très content   :Very Happy: 

----------

## GentooUser@Clubic

Ça va p-e un peu moins vite (j'ai rien remarqué, mais cette option dois bien avoir une utilité) mais je fait des switchs depuis hier et j'ai pas encore réussi à planter compiz, avant ça marchait une fois deux maximum puis freeze.

C'est quand même pas instantané faut attendre 2~5 secondes pour que l'écran noir disparaisse quand on switche vers X, bouger la souris semble accélérer le processus (alors que c'était une cause de plantage avant).

----------

## razer

 *GentooUser@Clubic wrote:*   

> 
> 
> 2: Utiliser NvAGP à la place d'AGPART qui semble améliorer grandement la stabilité et les performances de l'ensemble.
> 
> 

 

Curieux, chez moi c'est tout l'inverse (intel inside)

----------

## gglaboussole

 *GentooUser@Clubic wrote:*   

> je fait des switchs depuis hier et j'ai pas encore réussi à planter compiz, avant ça marchait une fois deux maximum puis freeze.
> 
> 

 

Bon ben c'est doublement "résolu"...en effet décocher le Sync to VBlank de ccsm a définitivement réglé le problème de switch de compiz... de plus effectivement maintenant que j'ai l'option loose-binding je ne sens pas de ralentissement.

Pour conclure Compiz-fusion + nvidia s'inspirer de : 

- http://forum.compiz-fusion.org/archive/index.php/t-1682.html pour xorg.conf (voir qd même les commentaires des options)

- faire des essais (au vu de ce que dis razer) mais chez moi ça marche mieux sans agpgart dans le noyau, NvAGP "1" ds xorg pour utiliser le driver Nvidia pour l'agp.

- l'option --loose-binding indispensable

-Désactiver le Sync to VBlank dans ccsm si vous switcher (vers une console ou un autre utilisateur) régulièrement

Merci beaucoup pour votre aide

----------

## Ray ishido

Salut,

petite question: le driver agp de nvidia est-il installé par default avec les drivers ou il sagit d'un paquet a pars?

merci  :Smile: 

----------

## gglaboussole

salut,

 le driver agp des drivers-nvidia fait parti de nvidia-driver.. il faut que tu vérifies ici avec un petit  

 lspci | grep -i agp:

http://fr.download.nvidia.com/XFree86/Linux-x86/100.14.19/HTML/chapter-12.html

que ton chipset AGP est supporté, si oui alors tu peut tenter l'expérience en prenant bien soin que agpgart ne soit pas compilé en dur dans ton noyau, et s'il est en module qu'il ne soit pas chargé (comme pour moi il se chargeait automatiquement- udev ? /et/conf.d/rc ?- je l'ai purement et simplement viré)

Ensuite tu renseignes dans xorg.conf Option "NvAGP" "1" dans la section device

X redemarré la commande cat /proc/driver/nvidia/agp/status  devrait te montrer que le driver utilisé  est bien alors nvidia et non agpgart...chez moi :

```

jerome@laboussole ~ $ cat /proc/driver/nvidia/agp/status 

Status:          Enabled

Driver:          NVIDIA

AGP Rate:        8x

Fast Writes:     Enabled

SBA:             Enabled

jerome@laboussole ~ $ 

```

Pour ce qui est du Sync to VBlank après quelques heures d'utilisation je remarque la différence...mon image tremblotte lorsque je bouge le cube (et pas avec) je l'ai donc remis et la décocherai avant de switcher si besoin

----------

## Ray ishido

Salut,

merci pour la reponse  :Smile: 

j'ai donc suivi toutes les étapes (deselectionné agpart dans le noyeau), et ça semble fonctioné nikel : je lance startx, tout marche, et j'ai meme l'impression d'avoir gagner un peu en perf.

le seul truc c'est que le rep /proc/driver/nvidia/agp/ n'existe pas!  :Confused: 

par curiosité, quelles sont les perfs tes perfs avec le shift switcher et 4-5 fenetre ouvere plein ecran? moi je suis a 18 fps

autre choses, gkrellm m'indique toujours une utilisation de mes 2 proc  (de l'odre de 50%) quand je m'amuse avec les switchers, le cube,etc... c'est normal?

----------

## gglaboussole

 *Ray ishido wrote:*   

> 
> 
> le seul truc c'est que le rep /proc/driver/nvidia/agp/ n'existe pas! 
> 
> 

 

 :Shocked:  euh pas normal ça !! Ta carte est bien sur un slot AGP et pas un PCI express ???

 *Ray ishido wrote:*   

> par curiosité, quelles sont les perfs tes perfs avec le shift switcher et 4-5 fenetre ouvere plein ecran? moi je suis a 18 fps
> 
> 

 

je sais pas si c'est très parlant, ma config est dans mon premier post et j'obtiens env 3000 fps sec en switchant comme un malade avec 5 fenetres plein écran...on dit que glxgears n'est pas un benchmark...

Avec le benchmark de compiz, en laissant les doigts appuyé sur super + tab (on a rien d'autre à foutre quand même !   :Very Happy:  ) il oscille entre 15 et 20 fps

 *Ray ishido wrote:*   

> 
> 
> autre choses, gkrellm m'indique toujours une utilisation de mes 2 proc  (de l'odre de 50%) quand je m'amuse avec les switchers, le cube,etc... c'est normal?

 

que le cpu charge un peu c'est normal à mon avis, il devrait moins charger quand même que sans compiz...essaies sans compiz de bouger tes feneêtres dans tous les sens et regardes si ton cpu s'enflamme...

----------

## Ray ishido

bon, dans ces cas là c'est la ou j'ai du mal a taper parceque je sais que je vais avoir l'air d'un imbécile, mais, euh, aprés vérification, hum, effectivement, ma carte est sur pci-express (7300 Go)  :Embarassed:  .

bon, d'un autre coté c'est un portable alors forcement, j'avais du mal a voir les ports...

Il y a quelque chose a configurer pour le pci-express? j'ai jeter un oeil dans les doc nvidia et le kernel et j'ai rien trouvé de particulier.

----------

## loopx

et pour les ATI, c'est quoi les bonnes options à utiliser ???

Ok, je   :Arrow:   []

... mais je []   :Arrow:   'drais!

----------

## gglaboussole

eh bien pour vous répondre à tous les deux je n'en ai pas la moindre idée ...  :Smile:  ... désolé !

----------

