J'essaie de charger rapidement des images dans une zone d'image et de les dessiner. J'ai un retard de 0,13 seconde entre le moment où j'assigne un bitmap à la zone d'image et quand il apparaît. Et chaque fois que je fais un picturebox.refresh()
, c'est le même délai de 0,13 - 0,15 secondes avant que la méthode de peinture soit appelée. Est-il possible de se débarrasser de ce retard? J'utilise C# dans Visual Studio 2010. Je charge les images en utilisant la bibliothèque FreeImage.Afficher la zone d'image plus rapidement
Voici le code dans mon cas pictureBox_MouseMove:
if (IsMouseDown || DrawLine.Checked || IsMovingBox)
{
Tracing.Trace("Update Picture Box");
pictureBox.Refresh();
}
Puis je trace une ligne quand mon événement de peinture est appelée. Le retard est entre les deux lignes de trace. Si j'utilise une image tiff bitonal à 117 ko, le délai est de 0,13 seconde. Pour charger cette image dans la mémoire prend .04 secondes. Pour remplacer ma bitmap picturebox avec cette bitmap prend 0,01 secondes.
Si j'utilise une image jpg à échelle de gris à 1125 ko, le délai est de 0,14 secondes. Pour charger cette image dans la mémoire prend .26 secondes. Pour remplacer ma bitmap picturebox avec ce bitmap prend 0,03 secondes.
Hans, ça peut le faire! Les premiers tests sont définitivement meilleurs! En l'insérant dans mon code ici et en réglant le format correctement ... – Mark
Hans, C'était parfait! Très agréable! Merci! – Mark