Page 1 sur 1

Dim 09/12/2012 - Actualités

Posté : lun. 10 déc. 2012 00:19
par Xavier
Occupation CPU


Sous XT3, l'icône de l'occupation CPU était obtenue grâce à la présence de 11 images représentant les paliers de 0% à 100%, et à une routine qui affichait l'image voulue et cachait les autres. :?

Dans XT4 il sera possible d'afficher une icône par coeur. Les ordinateurs personnels récents ayant de 2 à 8 coeurs (en comptant l'Hyperthreading), et les serveurs pouvant en avoir bien plus, il a donc fallu passer au dynamique afin de ne pas gaspiller les ressources en allouant "en dur" 11 images pour 16 ou 32 coeurs possibles.

XT4 crée, manipule et détruit donc des composants créés dynamiquement, au final une seule image est utilisée par coeur, et l'icône adéquate est recopiée de la bibliothèque d'icône intégrée. La largeur de l'écran sera désormais la seule limite au nombre de coeurs gérables.
CPU_Panel.png
Notons au passage que ces belles courbes d'occupation CPU ont été obtenues grâce à un Antivirus, ma machine étant désormais garantie sans virus à 4000% ! lol


Encore une fois, il a fallu passer par un TBitmap temporaire afin de forcer le passage en 24 bits et ainsi d'obtenir la transparence :

Code : Tout sélectionner

			// Mise à jour de l'image
			if	Show_Icon
			then	begin
				Temp_Bitmap := TBitmap.Create;
				Temp_Bitmap.PixelFormat := pf24Bit;
				Kernel_Form.Images.GetBitmap((121 + Round(CPU_Load / 10)), Temp_Bitmap);
				CPU_Image := TImage(Bar_Form.CPU_Panel.FindComponent('CPU_Image_' + IntToStr(CPU_Index)));
				CPU_Image.Picture.Bitmap := Temp_Bitmap;
				Temp_Bitmap.Free;
				end;