J'écris un contrôle où il y a beaucoup de dessin personnalisé qui passe. Pour cette raison, je dois réduire le nombre de "écritures d'écran" qui se passe. Actuellement, il n'y a qu'un seul DC de mémoire qui est utilisé pour écrire à l'écran afin d'éviter le scintillement lorsque le contrôle est redessiné. Je veux savoir si c'est une possibilité d'utiliser 2 ou plusieurs DC de mémoire pour écrire des mises à jour de manière indépendante et ensuite les mettre en bit à l'écran. De cette façon, le besoin de rendre les parties non modifiées de l'écran est minimisé.Combinaison de 2 DC mémoire?
Répondre
Vous pouvez utiliser un certain nombre de contrôleurs de domaine distincts, mais tous écrivant dans le même bitmap. Dans ce cas, vous obtiendrez une politique de "dernière écriture gagnée", c'est-à-dire que la dernière écriture dans un emplacement donné de l'image bitmap sera celle qui apparaîtra dans l'image finale.
Cela ne vous rapportera pas grand-chose (à tout le moins) en termes de dessin réduit à l'écran. OTOH, un BitBlt
est généralement assez rapide pour que cela fasse peu de différence.
Vous pouvez créer autant de contrôleurs de domaine que vous le souhaitez, en préparant une partie de l'écran en un, BitBlt() en transmettant son contenu à un autre contrôleur de domaine, puis BitBlt() à l'écran ou autre. vous voulez (dans les limites de Windows de nr de poignées, etc évidemment). Je suis d'accord avec le commentaire ci-dessus mais il est peu probable que cela vous donne des gains de vitesse. Là où je l'utilise, c'est parfois lorsque les zones sont complexes, les zones à mettre à jour, cela peut parfois faire économiser beaucoup de calculs de localisation.
- 1. expliquant les parties de la chaîne ldap "LDAP: // DC = amrs, DC = victoire, DC = ml, dc = COM"
- 2. Combinaison de 2 requêtes Linq dans 1
- 3. Combinaison de 2 listes en python
- 4. UINavigationController en combinaison avec UITableView = mémoire gaspillée?
- 5. wxPython: Création d'un DC défilant
- 6. exemple iPhone aurioTouch: Retirer DC
- 7. combinaison de données provenant de 2 modèles différents
- 8. Retirer la politique IPSEC de W2k3 DC
- 9. La combinaison de 2 .png en un avec convert
- 10. Combinaison d'UrlRewriteFilter et de Struts 2 avec les paramètres get
- 11. Combinaison de 2 LINQ en un seul appel
- 12. La combinaison des valeurs de 2 objets XML en PHP
- 13. La combinaison des données de 2 tables dans 1 requête
- 14. activerecord, 'foregin_key' doit être une combinaison de 2 champs
- 15. MKMapView: avertissement de mémoire reçue. Level = 2
- 16. Avertissement de mémoire reçu. Niveau = 2
- 17. Mémoire partagée entre 2 processus (applications)
- 18. Combinaison mystérieuse
- 19. Redessiner l'écran après avoir dessiné le DC C++ de l'écran
- 20. Quelle est la différence entre diverses implémentations de DC?
- 21. QT: widget de défilement qui rend directement au DC
- 22. Combinaison de deux bookmarklets
- 23. algorithme de combinaison de nombres
- 24. Combinaison de requêtes dans MySQL
- 25. Combinaison de 2 applications de rails à une seule base de code
- 26. Combinaison de deux chaînes
- 27. Combinaison de fonctions - jQuery
- 28. combinaison de touches
- 29. Combinaison de prédicats
- 30. Combinaison de listes