Accueil
Articles
Astuces
Vidéos
Actualités
Auteurs
A propos
Contact
S'enregistrer
|
S'identifier
S'identifier
Authentification invalide
N
om d'utilisateur
M
ot de Passe
S
e souvenir de moi la prochaine fois.
S'identifier
Annuler
S'enregistrer
Mot de passe oublié ?
Manipulation d'images en C#, vers la performance
Nous chercherons à augmenter la performance de nos traitements via quelques petites « recettes »
Par
Frédéric Mélantois
publié le 01/02/2007 à 10:11, lu 8081 fois, 5 pages
2 commentaire(s)
Tags:
C#
,
Framework .NET
1 | Introduction
1 | Introduction
2 | Usage des tableaux et performance
3 | Tableaux et action du garbage collector, stackalloc
4 | Encore plus de performance
5 | Conclusion
Introduction
Dans le précédent article «
Manipulation d'images en VB.NET et en C#
», nous avions passé en revue différents formats d'images pour expliquer comment accéder de manière rapide aux données de l'image. Les méthodes d'accès diffèrent selon que l'on utilise C# ou VB.NET. La « recette » VB.NET peut être appliquée avec C# dans le cas où nous devons réaliser de nombreux traitements sur une même image sans effectuer d'affichages intermédiaires. Pour cela, on délocalise les données de l'image vers un tableau situé sur le tas managé via la méthode « Marshal.Copy » de l'espace de nom « System.Diagnostics ». Cette façon de procéder permet d'économiser du temps sur des opérations de « LockBits » et d'« UnLockBits » qui serait nécessaire aux traitements individuels successifs que l'on peut être amené à faire sur une image, laquelle ne serait d'ailleurs pas forcèment affichée.
Dans cette article, nous poursuivrons notre recherche de la performance, en particulier en regardant de plus près les tableaux sous .NET. En analysant parfois le code natif, nous chercherons à donner quelques pistes pour gagner encore quelques millisecondes sur le traitement des données d'une image.
Lors du précédent article, je vous avais laissé un petit problème : comment améliorer d'environ 25% le code C# permettant de convertir une image 32 bits en une image 1 bit. Nous allons donc nous servir de cet exemple pour analyser les gains de performance que l'on peut obtenir en appliquant quelques « recettes ».
1
2
3
4
5
»
Démarrer une discussion
Deuxième amélioration de Jean-Charles Meyrignac
Chargement ...
Discussion démarée par
Frédéric Mélantois
le 07/05/2007 à 11:28, 1 commentaire(s).
Première amélioration proposée par Jean-Charles Meyrignac
Chargement ...
Discussion démarée par
Frédéric Mélantois
le 07/05/2007 à 11:21, 1 commentaire(s).
Ecrire un commentaire
Titre
Commentaire
Annuler