Silverlight sur un PC d’ancienne génération… Disons de quelques générations en arrière


Hier j'ai passé la journée chez un client, et il était - entre autres - question de Silverlight. Un des contacts chez ce client me faisait remarquer que leur parc informatique était assez hétérogène et composé dans certains de machines assez anciennes, avec des capacités de traitement et mémoire limitées par rapport aux "standards" actuels.


Le contact me disait que sur son propre laptop - un DELL D610 pas trop ancien pourtant - Silverlight dès le lancement d'une application consommait 100% de CPU et rendait toute la machine inutilisable.


Ni une, ni deux, comme j'aime bien savoir ce dont je parle, ce matin je ressors un antique DELL Optiplex GX1 à base de Pentium III 500 MHz de sous un bureau, et je lui installe un XP SP2 tout propre. La machine n'a que 128 Mo de mémoire...



Pendant un moment, je me dis que j'ai peut être vraiment choisi une config trop petite et que je ne verrais tout simplement rien de probant. Sur la caisse du PC, il y a un splendide autocollant "Designed for Windows 98"... J'ai très peur 😉


Et bien non ! A peine le système installé, me voilà sur http://www.silverlight.net pour installer dans un premier temps Silverlight 1.0 sur la machine.


Petite visite dans la gallerie, et surprise, ça tourne étonnement bien. Une partie de casse-briques (Sparkle Ball) programmé en Javascript (Silverlight 1.0 oblige), ça se passe sans soucis majeur, juste quelques ralentissements de temps à autres. A noter : je jeu est hosté chez Dr. Dobb's. Il comporte une bannière de pub en flash en haut de la page. Difficile de dire donc si l'un ou l'autre de Flash ou de Silverlight est responsable des ralentissements, et dans quelle proportion. Mais ça reste vivable et utilisable.


Test d'un player vidéo en Silverlight 1.0, et là, clairement, on monte à 100% de CPU et la machine ne répond presque plus. Je teste avec un player comportant en plus des overlays et des zones de clipping et là, on atteint les limites.


Je termine par installer Silverlight 1.1 pour regarder comment se comportent d'autres applications, en particulier le jeu d'échecs dans lequel on peut faire jouer l'ordinateur contre lui-même, l'une des deux intelligences écrites en Javascript, l'autre en C# s'exécutant dans le CLR de Silverlight 1.1.


Surprise...



Surprise puisqu'en effet, alors que je pensais que "l'intelligence" de ce jeu allait consommer toute la CPU de la machine, ça n'est pas le cas. En faisant jouer l'ordinateur contre lui-même, Javascript contre C#, on observe toujours les ratios de 1 à 1000 ou plus, comme sur une machine récente, mais le reste de la machine est disponible et continue relativement bien à répondre.


Mes conclusions partielles et complètement empiriques : le décodage d'une vidéo est très couteux. Ca se ressent dans une application ou dans une scène Silverlight qui y fait appel.


Je me suis demandé comment se comporterait Flash sur une telle machine pour décoder de la vidéo, et là, un simple petit test sur Youtube et Dailymotion m'ont rapidement montré qu'il en allait de même.


Du point de vue de l'utilisateur que je suis, et en dehors de toute mesure de performance dans une démarche pseudo-scientifique, je dirais que l'impression générale est que Silverlight n'est ni plus ni moins exigeant en ressources que Flash sur ce type de machine d'un autre temps, pour ce qui est du décodage de la vidéo.


A côté de ça, j'ai trouvé que sur cette machine, qui est je le rappelle un Pentium III 500 MHz avec 128 Mo de mémoire, les applications Silverlight qui n'utilisent pas de vidéo se comportent et répondent très bien. Le Taskmgr montre en effet qu'une application Silvelright qui ne fait rien de compliqué, sans trop de surprise, ne charge pas la machine ni en CPU, ni en consommation mémoire, tant que la scène n'est pas trop compliquée.


Ah, je suis assez content d'avoir fait ce test...


Et vous, comment ça se comporte sur vos machines ? Vous utilisez aussi des machines qui devraient être en retraite depuis quelques années ? Quelqu'un parmi vous a un Mac à base de PPC pour me dire comment ça se passe dessus ?

Comments (4)

  1. Florian says:

    Je ne pensais même pas que XP-SP2 tournerait avec 128Mo de RAM ! les pré-requis sont à 256Mo je crois ?

    PS : Marrant le 46 noeud /s pour le jeu d’échecs en JScript.

  2. CLaueR says:

    @Florian : Ben si "Et pourtant elle tourne !" comme disait Gallilée 🙂

    Pour les Nodes/Sec, si on lance un run en JS contre JS, ça fluctue entre 100 et 300 Nodes/sec ce qui n’est pas si mal.

    Sur le PIII, en C# vs C#, ça fait en gros du 300,000 Nodes/sec, pour info…

    Sur mon Core Duo qui a un an, en JS contre JS ça tourne entre 800 et 1000 Nodes/sec, et environ à 1.200.000 pour C# contre C# 🙂

  3. Boris (aka sfard... :) ) says:

    🙂

    Le client c’est moi.

    Le portable c’est un Dell D510 pas vraiment d’un autre âge. Il est à base de Pentium M 1.73 Ghz et possède 1Go de mémoire. L’OS est Vista Ultimate qui tourne vraiment bien… excepté Aero à cause de la carte vidéo non compatible. Perso, je pense que c’est le maillon faible qui fait monter la CPU à 100%. Le fameux chipset Intel 915… On le retrouve partout, pas de bol.

  4. CLaueR says:

    Hello Boris 🙂

    Yes, en effet, ce chipset i915 est un vrai "cheap set" 😉 Je suppose que tu as déjà essayé de mettre à jour les drivers ou de tester avec un autre driver ?

    Sur mon brave Optiplex à Pentium III, la carte vidéo est de mémoire une 3D Rage quelquechose… a priori elle se comporte mieux que ton i915.

    Bon, sinon je pense que tu as compris que le sens de mon poste était d’avoir une idée de ce qui est consommateur et de ce qui l’est moins. Pas de chance pour l’utilisation que tu en prévoyais, c’est a priori bien le décodage des contenus vidéos qui est très couteux en termes de CPU.

    Si tu as de nouveaux éléments ou des retours d’expérience, je suis preneur 😉

Skip to main content