CompositionTarget.Rendering Événement
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Se produit lorsque le processus de rendu de base rend une image.
// Register
static event_token Rendering(EventHandler<IInspectable> const& handler) const;
// Revoke with event_token
static void Rendering(event_token const* cookie) const;
// Revoke with event_revoker
static CompositionTarget::Rendering_revoker Rendering(auto_revoke_t, EventHandler<IInspectable> const& handler) const;
public static event System.EventHandler<object> Rendering;
function onRendering(eventArgs) { /* Your code */ }
Microsoft.UI.Xaml.Media.CompositionTarget.addEventListener("rendering", onRendering);
Microsoft.UI.Xaml.Media.CompositionTarget.removeEventListener("rendering", onRendering);
- or -
Microsoft.UI.Xaml.Media.CompositionTarget.onrendering = onRendering;
Public Shared Custom Event Rendering As EventHandler(Of Object)
Type d'événement
Remarques
La gestion du rendu peut être utile si vous avez des scénarios d’interopérabilité avec du contenu Microsoft DirectX. Par exemple, vous souhaiterez peut-être savoir quand l’infrastructure XAML affiche une image et la synchroniser avec le contenu généré par Microsoft DirectX dans un SwapChainPanel ou surfaceImageSource afin que les mises à jour visuelles soient présentées à l’écran en même temps. Pour plus d’informations, consultez DirectX et l’interopérabilité XAML.
Pour satisfaire le compilateur, le deuxième paramètre e/args de votre gestionnaire pour un événement Rendering doit être Object. N’utilisez pas EventArgs. Toutefois, dans le gestionnaire, vous pouvez caster la référence e/args en tant que RenderingEventArgs. RenderingEventArgs a une propriété, RenderingTime, qui peut être utile dans votre scénario de rendu, mais tous les gestionnaires n’ont pas besoin de ces informations. Il peut suffire de savoir que l’événement se déclenche et gère chaque occurrence.
Les gestionnaires de rendu s’exécutent sur le thread d’interface utilisateur même s’ils ne sont liés à aucun élément d’interface utilisateur spécifique. Cela est similaire à l’exécution d’une animation infinie. Normalement, le thread d’interface utilisateur n’est actif que lorsqu’il y a du travail à faire, mais l’ajout d’un gestionnaire pour cet événement l’oblige à exécuter chaque trame, ce qui peut empêcher l’optimisation de l’utilisation de l’alimentation du système. Il est donc judicieux de supprimer tous les gestionnaires de rendu lorsque vous n’en avez plus besoin et de les ajouter uniquement lorsque vous en avez besoin. Par exemple, ajoutez le gestionnaire uniquement lorsque des pages spécifiques avec du contenu DirectX synchronisé sont chargées, puis supprimez le gestionnaire dans le cadre du nettoyage de page (Page.OnNavigatedFrom). Pour plus d’informations, consultez la section Utiliser des animations infinies avec parcimonie du guide des performances.