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 principal restitue une trame.
// 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 Microsoft contenu DirectX. Par exemple, vous souhaiterez peut-être savoir quand l’infrastructure XAML affiche une trame et que vous synchronisez cela avec votre Microsoft contenu directX généré 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ètred’argumentse/ 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 pas tous les gestionnaires ont besoin de ces informations. Il peut être suffisant 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 pas liés à un élément d’interface utilisateur spécifique. Cela est similaire à l’exécution d’une animation infinie. Normalement, le thread d’interface utilisateur est actif uniquement lorsqu’il y a du travail à effectuer, mais l’ajout d’un gestionnaire pour cet événement force l’exécution de chaque frame qui peut empêcher les optimisations 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 de performances.