# [Optimisation] Decu des performances [résolu]

## Nardzir

Bonjour !

Cela va faire presque un an que je suis sous gentoo, et j'avoue que c'est la premiere fois que je reste aussi longtemps sur la meme distribution ; mais la n'est pas le sujet de mon probleme. En effet ma gentoo me "parait" moins reactive qu'un windows XP installé sur la meme machine, ou meme une autre distro : le rafraichissement a l'ecran n'est pas tres rapide sans etre trop genant (que ce soit sous Gnome ou Kde) ; les applications mettent du temps a se lancer et sont globalement moins reactives (firefox est plus agreable a utiliser sous win que sous linux sur ma machine), bref je suis decu ... En choisissant gentoo j'esperai obtenir une installation faite pour ma machine.

J'ai parcouru les forums en vue d'optimisations eventuelles, mais sans resultat. Je poste donc mon probleme pour avoir votre avis.

Voici quelques infos sur ma machine :

- Athlon XP 2000

- 256Mo

- Geforce 4

Mes variables de compilation

CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe"

CHOST="i686-pc-linux-gnu"

USE="alsa dvd cdr acpi aim mmx 3dnow mysql"

CXXFLAGS="${CFLAGS}"

Resultats sous GlxGear

17706 frames in 5.0 seconds = 3541.200 FPS

Resultats sous Hdparm

root #  hdparm -tTd /dev/hda

/dev/hda:

 using_dma    =  1 (on)

 Timing buffer-cache reads:   1104 MB in  2.00 seconds = 550.98 MB/sec

 Timing buffered disk reads:  140 MB in  3.01 seconds =  46.53 MB/sec

Resultat de top

top - 13:07:46 up  2:05,  4 users,  load average: 0.43, 2.31, 2.45

Tasks:  75 total,   1 running,  74 sleeping,   0 stopped,   0 zombie

Cpu(s):  6.2% us,  0.7% sy,  0.0% ni, 92.8% id,  0.0% wa,  0.3% hi,  0.0% si

Mem:    256076k total,   123280k used,   132796k free,     3680k buffers

Swap:   506008k total,    74456k used,   431552k free,    54004k cached

Et enfin versions installées 

- Xorg  6.7.0

- Gnome 2.6

- Kde 3.2

- gcc 3.3.4

- libc 2.3.3

- Linux  2.6

Merci !

[edit] Juste pour dire que la solution du probleme se situe dans mon dernier post.Last edited by Nardzir on Tue Aug 31, 2004 7:57 am; edited 1 time in total

----------

## GNUTortue

Je ne suis pas du tout sûr, mais ça peut être dû à cose des CFLAGS

CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe" 

Le -O3 créerai peut-être des binaires dodus et lent, essai si tu peux avec -O2 ou -Os ou eventuellement avec -O1 ou -O à la place de -O3.

----------

## ultraViolet

As tu essayé d'utliliser xfce4 à la place gnome ou kde ? Je pense que ca pourrait resoudre tes problèmes de réactivité. Peut être que tu devrais jeter un coup d'oeil à ton noyau. Certaines options, comme preempt, ne sont pas considérées par tous comme si bien que ca. Si ton système est de plus en plus lent avec le temps d'allumage, peut etre que c'est un problème de gestion de priorité des process ?

----------

## sireyessire

 *GNUTortue wrote:*   

> Je ne suis pas du tout sûr, mais ça peut être dû à cose des CFLAGS
> 
> CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -pipe" 
> 
> Le -O3 créerai peut-être des binaires dodus et lent, essai si tu peux avec -O2 ou -Os ou eventuellement avec -O1 ou -O à la place de -O3.

 

c'est surement du aux CFLAGS, le -O3 crée des binaires super optimisés mais une fois qu'ils sont en mémoire donc la première fois que tu lances le programme il mettra plus longtemps à démarrer, après si tu as beaucoup de mémoire, les fois suivantes ils s'exécutera plus vite. 

Donc vu que tu n'as que 256Mo, un changement de CFLAGS peut être intéressant vers le -O2 qui est un peu moins optimisé et plus rapide ou vers le -Os qui creée des biniaires le plus petit possible. En plus, ça mettra moins longtemps à compiler  :Wink: 

tu peux regarder ce site pour plus d'infos ou encore là

----------

## Angelion

Comme je l'ai souvent dis, gentoo est optimisable, pas optimisée, tes remarques sont normales, surtout avec des CFLAGS avec -O3 et march.

Un systeme entier compilé avec les meme cflags n'est pas un systeme des plus optimisés, ils faut utiliser des cflags optimlisés pour chaque softs, et ca c'est pas pret d'arriver vu l'avancement de certains projets.

Si tu veux une distro desktop optimisée i686 je ne peux que te conseiller Arch Linux

En esperant que les developpeurs de xorg nous sortent enfin une reelle API de haut niveau (avec bouttons, menu deroulant, ..) pour enfin harmoniser nos bureaux et utiliser les capacités de nos cartes graphiques ( la partie 2D tout du moins) comme peut magnifiquement le faire DirectFB sur une Matrox G200.

----------

## _droop_

Salut,

Comme tu utilises un 2.6 tu peux aussi activer le support nptl de la libc qui apporte un gain non négligeable sur les applications multi threads. (suffit d 'ajouter nptl a ton use et de re emerger la libc).

Pour le lancement plus rapide, tu peux aussi regarder du cote de prelink.

Ensuite il est à souligner que certaines applications sous windows se chargent tres vite car elles sont prechargees au demarrage de l'os.

Enfin, moi je trouve que linux est bien plus reactif que windows et en particulier parce qu'il ne swappe pas pour rien.

----------

## Angelion

Dans ce cas on va prelinker aussi les applis windows, faut comparer ce qui est comparable.

Pour ce qui est des applis prechargées sous windows, il n'y en a pas 36, à part office ...

Sur mon XP3200+, mon duron 750, P3 500 et XP2000+ gentoo compilé avec les meme CFLAGS n'a moi non plus jamais était aussi reactif qu'une fraiche install de XP ou 2000 (bien sur ca se degrade apres comme tout le monde le sait   :Wink:  )

Depuis j'ai testé Arch, et j'y reste ...

[EDIT] Quand je parle d'une install fraiche c'est qd meme apres un peu de tuning sur le systeme, pour resoudre par ex le pbm de cache.

----------

## ghoti

 *_droop_ wrote:*   

> Ensuite il est à souligner que certaines applications sous windows se chargent tres vite car elles sont prechargees au demarrage de l'os

 

Un exemple typique, c'est mozilla (pour rester dans le LL  :Wink:  )

Sous win, tu peux le lancer avec l'option "--turbo" ce qui le force à rester en mémoire. 

Dans les versions récentes, je crois qu'il suffit même de cocher l'option dans le menu d'installation.

Par contre, l'option "--turbo" n'a aucun effet sous Linux.

D'ailleurs, c'est un peu moins utile pour le pinguoin puisque le cache   effectué par le kernel est un poil plus efficace que chez tonton billou !  :Wink: 

Pas vérifié, mais je suppose qu'il y a des options semblables pour les dérivés de mozilla ...

----------

## gregolak

Bah pour ma part, j'ai installé récemment

une mandrake 10 sur un bout de disque dur,

hé ben elle parait plus rapide !

Je pense qu'il faut passer pas mal de temps pour

avoir une gentoo bien configurée (et comme le disait

qqn, des CFLAGS différents selon les applis) ; donc

beaucoup de boulot et de temps ! Moi j'aime gentoo

pour sa souplesse et la disponibilité rapide des logiciels,

c'est vrai que mes CFLAGS je m'en fous presque...     :Wink: 

----------

## remi2402

Salut

Pour ma part, j'ai un Duron 700 (donc beaucoup moins rapide que n'importe quel Athlon) mais j'ai plus de ram (440 Mo). Sous Linux, la ram est super importante car le noyau met beaucoup plus d'infos en cache que sous windows. Par ailleurs windows a souvent tendance à mettre les applis en swap... même avec 1.2Go de ram (si si ...)

Tu peux "aider" ton pc de plusieurs façons :

achète un peu de ram (256 mo de sdram, ça coute moins de 50 chez un bon revendeur).

optimise ton WM, perso j'utilise gnome, mais xfce4 est bien plus rapide à se charger. Par contre, à l'utilisation tes applis te parraitront sans doute pas plus rapides qu'avant.

optimise ton pilote nvidia, je viens de découvrir une petite option planquée de derrière les fagots (dans ton XF86Config), qui n'est pas activée par défaut. Faut se manger le long README du package pour trouver l'option

```
Section "Device"

        Identifier  "tnt2"

        Driver      "nvidia"

        Option "RenderAccel" "true" # c'est cette ligne qui est importante

EndSection

```

Heureusement que quelqu'un sur ce forum pense à lire les README  :Very Happy:  Cette option active l'accélération 2D, certes c'est toujours aussi moche quand tu déplaces une fenêtre, mais ça fait pas ramer le pc (beepmp sautait quand je déplaçais une fenêtre trop rapidement).

regarde les perfs de ton DD avec hdparm, perso j'ai jamais ressenti le besoin d'y toucher mais ça peut t'aider.

change de pc ... hum bon c'est un peu beaucoup  :Very Happy: 

J'espère que tout ça te sera utile.

Rémi

----------

## Angelion

Faudrait arreter le mythe de la RAM a volonté, 256 Mo c largement suffisant pour une utilisation desktop classique (mp3, divx, browser web, ...)

Puis un windows ca se configure, certes pas comme un linux, du moins pas si aisement, les pbms de swap je n'en ai jamais eu avec mes 512 Mo et ces SDK qui sont de plus en plus gros.

Mais comme je l'ai dit, le gros des ressources passe dans le serveur X, vivement de vrai drivers de la part de ATI et nvidia.

----------

## Nardzir

Merci pour toutes ces infos !!!

J'ai recompilé Gnome et Mozilla en -O2, j'ai l'impression qu'il y a un petit mieux aux niveaux de la reactivité : Avant l'affichage des menus etait loin d'etre immediat, maintenant ca a l'air mieux.

Je pense aussi passer a 512Mo de ram, ca peut pas faire de mal. Pour ce qui est du dd, je ne pense pas que celui-ci soit un facteur limitant. Le dd ne swap pas pendant des taches "legeres" (mail, surf, TV, ....).

Je vais essayé l'option renderaccel pour les nvidia. Il va falloir que je recompile XFree en -O2.

Sinon, j'ai essayé XFCE, et ... c'est pas mal du tout !!! 

Ce qui est dommage, c'est que ces problemes de perf ne sont pas vraiment mesurables, il s'agit plus d'une impression generale de lenteur tres subjective ... je continue mes investigations !

----------

## chcl3

C'est un petit peu [off] mais sur mon ppc j'ai mis ça :

```
CFLAGS="-O2 -Os -pipe -mcpu=7400 -maltivec -mabi=altivec -fno-strict-aliasing"
```

 Je ne sais pas si c'est tres correct d'utiliser à la fois -O2 et -Os mais sourcemage le fait alors y a pas de raison  :Rolling Eyes:   Et comme ça fonctionne bien et que j'en suis très content je les garde.

----------

## sergio

C'est vrai que parfois on peut avoir l'impression qu'une distribution LINUX est moins réactive qu'un Windows XP. Pour ma part je pense que le principal problème provient du protocole X-Window (qu'utilisent XFree86 et X.org) qui commence à dater sérieusement et qui n'est peut être plus tout à fait adapté à des environnements de bureau de plus en plus sophistiqués... 

J'avais lu un excellent article dont je collerai le lien ici, si je le retrouve, qui décortiquait bien la question.

En effet avec des gestionnaire de bureau très évolués comme KDE et GNOME, le nombre de messages X-Window (événements) générés pour déplacer une simple fenêtre est tout simplement faramineux (parfois plusieurs centaines !!)

J'avais entendu/vu parler d'un projet du nom de "Berlin" destiné à remplacer (ou à dépoussiérer) à terme les projets à basés sur le protocole X-Window...

----------

## Nardzir

 *Quote:*   

> J'avais entendu/vu parler d'un projet du nom de "Berlin" destiné à remplacer (ou à dépoussiérer) à terme les projets à basés sur le protocole X-Window...

 

Le projet Berlin a ete renomé en fresco : http://www.fresco.org/

Le site n'est pas tres a jour, mais le developpement continue (tout doucement, cf mailling list)

Je pense tout de meme que ce projet n'a plus vraiment d'avenir face a X.org/fd ...

----------

## Nemerid

Cette discussion est intéressante et soulève quelques questions sur l'optimisation. Personnellement, je suis très content de mes performances, tout s'ouvre très rapidement chez moi malgrès que j'utilise un environnement dit "lourd" comme kde. J'appuie à peine sur ma souris pour ouvrir konqueror que ma fenetre apparait instantanement presque en meme temps que je relache ma souris. (Enfin il est préchargé en mémoire, mais tout de même c'est agréable).

Seulement, j'ai tout compilé en -O3 et j'ai peut etre pensé à tort qu'une meilleur optimisation permet de meilleurs résultats. Alors mes questions sont, est ce qu'avec -O2 la taille des binaires est plus faible qu'avec -O3 ? Il faut mieux choisir -O2 si on possède beaucoup de mémoire (j'ai 1,5Go) ou bien l'inverse.

Bref, si quelqu'un peut éclaire ma lanterne et me donner quelques précisions sur le sujet, ce serait sympatique.

----------

## Angelion

Sergio, tu parles peut etre de cet article là

Et j'y ajouterai celui là

----------

## Angelion

 *Nemerid wrote:*   

> Cette discussion est intéressante et soulève quelques questions sur l'optimisation. Personnellement, je suis très content de mes performances, tout s'ouvre très rapidement chez moi malgrès que j'utilise un environnement dit "lourd" comme kde. J'appuie à peine sur ma souris pour ouvrir konqueror que ma fenetre apparait instantanement presque en meme temps que je relache ma souris. (Enfin il est préchargé en mémoire, mais tout de même c'est agréable).
> 
> 

 

Ca depend de ta machine, si tu as un P4 à 3Ghz il est evident qu'une lenteur perceptible est inaceptable.

Je suis toujours en train de "raler" sur les systemes graphiques (XP, ou X) pcq je suis de la vieille école, et qd on sait ce qu'etait capable de faire un Amiga 1200 (12Mhz, 2Mo de ram) en matiere d'interface graphique, on peut se poser des questions quand on voit nos environnements sur des procs a plus d'un giga hertz et 512 Mo.

Les dev de DirectFB ont bien connu l'amiga   :Wink: 

----------

## Pachacamac

Il est vrai que xorg est bien partit. Il me tarde d'avoir la prochaine version stable. 

En ce qui concerne les performances d'XP elles sont sympa juste après l'install mais elles chutent rapidement. Je trouve que mon système est bien rapide, toutes les appli se lancent immédiatement. Même mozilla ou openoffice qui sont pourtant assez lourd.

----------

## sergio

 *Angelion wrote:*   

> Sergio, tu parles peut etre de cet article là
> 
> 

 

Tout a fait !!

Merci de me l'avoir retrouvé...

----------

## Prodigy44

C'est dingue quand meme de lire de telles choses, vivement la sortie de la XCB qui  devrait remplacer le XLib c'est vrai qu'entre windows et X ben y a pas de réelle avancée (mise a part la partie client/serveur) par rapport un amiga, hormis peut etre MacOS.

----------

## Angelion

Oui, refaire une API de plus haut niveau et moins usine a gaz, pourquoi pas mais il faut surtout une reelle acceleration materielle comme on peut le voir sur DirectFB avec une G200.

J'en possede une sur un P3 500 (avec DirectFB), meme mon XP3200+ sous X avec une GeForce2 ne suis pas la comparaison niveau utilisation CPU surtout si on lance une video.

Une fusion de Xorg et DirectFB ?

----------

## remi2402

j'ai  lu pas mal d'articles ces temps-ci, et il est clair que xorg apporte son lot de nouveautés plus qu'interessantes.

XDamage par ex permet à la carte graphique et au reste du système d'échanger uniquement les partie de l'écran qui ont été modifiées. Gain de bande passante si tu fais du x distant (j'en fait et j'attends ca avec impatience) et meme pour une utilisation locale, c'est une optimisation qui beneficiera à tout le monde.

XComposite ... tout le monde connait, transparence et tout ce qui va avec. Celle la sera vraiment interessante si elle est supportée par les pilotes. Sinon on risque d'être déçu (aqua sur un ibook 1ere generation, ben c'est lent parce que c'est uniquement du software, la carte n'ayant pas assez de ram)

Quand aux autres, fresco, Y windows, etc ... ben à moins que tout le monde se tourne vers eux, ca risque d'etre un pb. Le gros avantage de X c'est que c'est un standard. J'utilise mes applis X en distant entre un HP-UX et un linux, et ben ca marche sans rien faire. Le serveur X d'HPUX est d'ailleurs bien mieux acceléré en 2D que XFree (alors qu'il a 4 ou 5 ans ce soft).

Bref X11 c'est bien, mais ca peut etre mieux ... ca va etre mieux. Patience  :Smile: 

----------

## Nardzir

Apres plusieurs essais d'optimisation, voici mes conclusions :

1. avec 256Mo, -O2 est preferable a -O3 surtout pour x.org et mozilla, j'ai observé une amelioration meme si celle-ci n'est pas enorme. Je n'ai pas essayé -Os

2. Je n'ai pas observé d'amelioration avecl'option des drivers nvidia renderaccel.

3. Et ce qui change tout : j'ai essayé la prochaine version d'X.org (la 6.8), elle offre de nettes ameliorations !!! C'est impressionant, en activant l'extension Composite, les problemes de rafraichissement disparaissent pendant le deplacement d'une fenetre par exemple. Le systeme parait tres reactif, meme plus que sous windows. A essayer de toute urgence (en cadeau vous aurez meme droit a la transparence et les ombres)

Merci a tous pour vos conseils

----------

## LostControl

 *Nardzir wrote:*   

> C'est impressionant, en activant l'extension Composite, les problemes de rafraichissement disparaissent pendant le deplacement d'une fenetre par exemple. Le systeme parait tres reactif, meme plus que sous windows.

 

T'es sûr que c'est grâce à l'extension Composite ? Ca me paraît bizarre  :Confused:  Composite c'est "simplement" transparence et effets spéciaux non ?

A+

----------

## Angelion

C'est la beta 6.7.9 non ?

La 6.8 est dispo ?

----------

## LostControl

C'est la 6.7.99.903 qui est dans portage et qui est la dernière release dispo. La version 6.8 doit normalement sortir... aujourd'hui  :Very Happy: 

http://freedesktop.org/XOrg/XorgReleasePlan

----------

## Angelion

Ils pourraient faire un site un poil plus clair ...

----------

## Nardzir

 *LostControl wrote:*   

>  *Nardzir wrote:*   C'est impressionant, en activant l'extension Composite, les problemes de rafraichissement disparaissent pendant le deplacement d'une fenetre par exemple. Le systeme parait tres reactif, meme plus que sous windows. 
> 
> T'es sûr que c'est grâce à l'extension Composite ? Ca me paraît bizarre  Composite c'est "simplement" transparence et effets spéciaux non ?
> 
> A+

 

Je ne connait pas le fonctionnement de l'option composite, mais je suppose qu'elle garde du cote du serveur un buffer de l'affichage de l'application cliente (qqn peut confirmer) ce qui permet entre autre des effets speciaux par "composition" mais surtout evite les problemes de rafraichissement pendant le deplacement d'une fenetre sur l'autre. L'impression de gain en stabilité/rapidité est reelle, l'interface parait beaucoup plus reactive.

Sinon oui il s'agit de la 6.7.99 disponible dans portage. Si vous disposez d'une carte 3D de type nvidia avec les derniers drivers proprio je vous encourage de l'installer, je n'ai aucun probleme pour l'instant, c'est tres rapide, seul les fenetre openGL ne sont pas gerees ainsi que celle utilisant l'extension xv (TV et mplayer par exemple).

En attendant la version finalle qui devrait sortir aujourd'hui normallement (Composite sera desactivé par defaut)

Pour ceux que ca interesse, un thread dans ce forum est dispo un peu plus bas, l'installation est facile est tres bien expliquee.

----------

