Bonjour,
Voila, dans mon appli, je peux ouvrir plusieurs fenetres.
Toutes ces fenetres sont des instances d'une même classe, et l'utilisateur peut en ouvrir un nombre indeterminé (autant qu'il le souhaite, ou presque)
Donc, pour economiser la mémoire, j'ai créé une classe "skin" qui contient toutes les images, polices de caractères, etc pour une fenetre.
Et j'ai déclaré une instance statique de cette classe, qui est utilisée par toutes les fenetres.
Or, après quelques bugs et un peu d'investigation, je vient de comprendre d'une meme bitmap (par exemple) ne peut etre selectionnée dnas plus d'un DC à la fois.
Or, il arrive que deux fenetres essaient de se dessiner en même temps avec la même bitmap... donc erreur !
1/ vu que j'ai environ 3 Mo de données (graphique...) par fenetre, qu'il est prevu dans une uitilisation "normale" d'ouvrir 4-5 fenetres à la fois, est-ce que ça vaut vraiment le coup de partager les ressources pour economiser 12 Mo ?
2/ comment faire pour partager proprement les ressources ? Y-a-t-il un autre moyen que de proteger les "SelectObject" par des Mutex ou autre ?
Partager