Meilleures pratiques pour DirectComposition
Notes
pour les applications sur Windows 10, nous vous recommandons d’utiliser Windows. L'. API de composition à la place de DirectComposition. Pour plus d’informations, consultez moderniser votre application de bureau à l’aide de la couche visuelle.
Cette rubrique décrit les meilleures pratiques pour l’utilisation de Microsoft DirectComposition.
Bonnes pratiques
Le tableau suivant présente les pratiques recommandées pour l’utilisation des éléments visuels Microsoft DirectComposition.
| Pratiquer | Description |
|---|---|
| Après avoir créé un appareil DirectComposition, appelez la méthode IDCompositionDevice :: CheckDeviceState en réponse à chaque message WM _ Paint pour vous assurer que l’appareil est toujours valide. |
Si l’appareil Microsoft DirectX Graphics (DXGI) est perdu, l’appareil DirectComposition associé à l’appareil DXGI est également perdu. Lorsqu’il détecte un appareil perdu, DirectComposition envoie le message de _ peinture WM à toutes les fenêtres. L’appel de CheckDeviceState en réponse à chaque message WM _ Paint vous permet de déterminer si l’objet appareil DirectComposition est toujours valide et, dans le cas contraire, de prendre des mesures pour récupérer du contenu. Pour plus d’informations, consultez objet Device. |
| Créez uniquement le nombre d’éléments visuels nécessaires pour une composition ou une animation, puis détruisez les visuels immédiatement après que DirectComposition a terminé de les utiliser. |
DirectComposition utilise l’unité de traitement graphique (GPU), une ressource que votre application partage avec d’autres applications et le système d’exploitation. Cette pratique garantit que toutes les applications et le système d’exploitation reçoivent des ressources GPU appropriées. Pour plus d’informations, consultez visuels. |
| Ne pas masquer les visuels en affectant à l’opacité la valeur 0%; à la place, supprimez les éléments visuels de l’arborescence d’éléments visuels. |
La définition de l’opacité à 0% nécessite davantage de ressources système que la suppression de l’arborescence d’éléments visuels. Pour plus d’informations, consultez opacité et arborescence d’éléments visuels. |
| Ne masquez pas un visuel en appliquant un rectangle de découpage vide (de taille zéro) à un visuel. Au lieu de cela, supprimez le visuel de l’arborescence d’éléments visuels. |
La suppression d’un visuel de l’arborescence d’éléments visuels donne de meilleures performances que l’application d’un rectangle de découpage vide. Pour plus d’informations, consultez découpage. |
| N’appliquez pas de rectangle de découpage à un visuel si le rectangle de découpage n’est pas nécessaire, tel qu’un rectangle de découpage qui comprend l’intégralité du contenu de la bitmap de l’élément visuel. |
Les rectangles de découpage inutiles nuisent aux performances du système. Pour plus d’informations, consultez découpage. |
| Si vous avez besoin d’une grande image bitmap de couleur unique, créez une surface bitmap plus petite, puis appliquez une transformation d’échelle au lieu de créer une surface pleine. |
L’application d’une transformation d’échelle à une surface plus petite utilise moins de ressources système qu’une surface pleine taille. Pour plus d’informations, consultez objets bitmap et transformations. |
| Évitez d’appliquer des transformations 3D à plusieurs niveaux d’une arborescence d’éléments visuels, par exemple à un parent et à ses descendants. |
L’application de transformations 3D à plusieurs niveaux d’une arborescence d’éléments visuels peut produire des résultats inattendus, car les transformations 3D ne sont pas multipliées dans l’arborescence. Par exemple, une rotation de 90 degrés autour de l’axe y sur un enfant, et une rotation de 90 degrés autour de l’axe y sur un parent, entraîne la rotation des deux éléments visuels vers l’extérieur. Pour plus d’informations, consultez Effets. |
Considérations relatives à la sécurité
Les articles suivants fournissent des conseils pour l’écriture de code C++ sécurisé.
- Meilleures pratiques de sécurité pour C++
- Modèles & pratiques conseils de sécurité pour les applications