Développement XNA pour la XBox et le PC
64
Dans le cas du gestionnaire d’images, essayez donc d’exécuter le programme tout en
jetant un œil à l’onglet Processus du gestionnaire des tâches de Windows, et tout particulièrement à la colonne Utilisation mémoire. Effectuez la même expérience avec un nombre
de sprites identique, en employant la même image, mais sans utiliser le gestionnaire
d’images. Vous observerez que la mémoire employée dans le premier cas est légèrement
supérieure à celle utilisée dans le second cas.
La mesure du temps d’exécution peut se faire avec une précision de l’ordre du millième de
seconde grâce à un objet Stopwatch, qui se trouve dans l’espace de noms System.Diagnostics.
Ajoutez un objet de ce type au projet, démarrez le chronomètre avant le chargement des
images et arrêtez-le juste après. Enfin, affichez le résultat dans le titre de la fenêtre grâce
à la propriété Title de l’objet Window.
Stopwatch stopWatch = new Stopwatch();
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
stopWatch.Start();
foreach (Sprite sprite in sprites)
sprite.LoadContent(textureManager, "GameThumbnail");
stopWatch.Stop();
}
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
this.Window.Title = stopWatch.ElapsedMilliseconds.ToString();
base.Update(gameTime);
}
Faites ensuite la même chose pour la version du programme qui n’utilise pas le gestionnaire. La figure 3-14 compare les résultats entre les deux versions. À chaque fois,
plusieurs lancements de l’application ont été effectués pour ne garder que la moyenne des
valeurs obtenues. Cette fois-ci, vous constatez que la version qui emploie le gestionnaire
d’images est plus performante.
Charge du processeur
Le nombre de sprites a volontairement été augmenté, de manière à souligner les variations de performances entre les différentes solutions techniques.
=Labat FM.book Page 64 Vendredi, 19. juin 2009 4:01 16
64
Dans le cas du gestionnaire d’images, essayez donc d’exécuter le programme tout en
jetant un œil à l’onglet Processus du gestionnaire des tâches de Windows, et tout particulièrement à la colonne Utilisation mémoire. Effectuez la même expérience avec un nombre
de sprites identique, en employant la même image, mais sans utiliser le gestionnaire
d’images. Vous observerez que la mémoire employée dans le premier cas est légèrement
supérieure à celle utilisée dans le second cas.
La mesure du temps d’exécution peut se faire avec une précision de l’ordre du millième de
seconde grâce à un objet Stopwatch, qui se trouve dans l’espace de noms System.Diagnostics.
Ajoutez un objet de ce type au projet, démarrez le chronomètre avant le chargement des
images et arrêtez-le juste après. Enfin, affichez le résultat dans le titre de la fenêtre grâce
à la propriété Title de l’objet Window.
Stopwatch stopWatch = new Stopwatch();
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
stopWatch.Start();
foreach (Sprite sprite in sprites)
sprite.LoadContent(textureManager, "GameThumbnail");
stopWatch.Stop();
}
protected override void Update(GameTime gameTime)
{
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
this.Window.Title = stopWatch.ElapsedMilliseconds.ToString();
base.Update(gameTime);
}
Faites ensuite la même chose pour la version du programme qui n’utilise pas le gestionnaire. La figure 3-14 compare les résultats entre les deux versions. À chaque fois,
plusieurs lancements de l’application ont été effectués pour ne garder que la moyenne des
valeurs obtenues. Cette fois-ci, vous constatez que la version qui emploie le gestionnaire
d’images est plus performante.
Charge du processeur
Le nombre de sprites a volontairement été augmenté, de manière à souligner les variations de performances entre les différentes solutions techniques.
=Labat FM.book Page 64 Vendredi, 19. juin 2009 4:01 16
