CompositionTarget.Rendering Evento
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Se produce cuando el proceso de representación principal representa un marco.
// 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)
Tipo de evento
Comentarios
Controlar la representación puede ser útil si tiene escenarios de interoperabilidad con contenido de Microsoft DirectX. Por ejemplo, es posible que quiera saber cuándo el marco XAML representa un marco y sincronizarlo con el contenido generado por Microsoft DirectX en swapChainPanel o SurfaceImageSource para que las actualizaciones visuales se presenten a la pantalla al mismo tiempo. Para obtener más información, consulta Interoperabilidad de DirectX y XAML.
Para satisfacer el compilador, el segundo parámetro e/args del controlador para un evento Rendering debe ser Object. No use EventArgs. Sin embargo, dentro del controlador, puede convertir la referencia de argumentos e/ como RenderingEventArgs. RenderingEventArgs tiene una propiedad, RenderingTime, que podría ser útil en el escenario de representación, pero no todos los controladores necesitarían esta información. Puede ser suficiente saber que el evento se desencadena y controla cada repetición.
Los controladores para la representación se ejecutan en el subproceso de interfaz de usuario aunque no estén vinculados a ningún elemento de interfaz de usuario específico. Esto es similar a ejecutar una animación infinita. Normalmente, el subproceso de interfaz de usuario solo está activo cuando hay trabajo que hacer, pero agregar un controlador para este evento lo obliga a ejecutar cada fotograma que puede impedir las optimizaciones de uso de energía del sistema. Por lo tanto, es recomendable quitar los controladores de representación cuando ya no los necesite y agregarlos solo cuando los necesite. Por ejemplo, agregue el controlador solo cuando se carguen páginas específicas con contenido directX sincronizado y, a continuación, quite el controlador como parte de la limpieza de páginas (Page.OnNavigatedFrom). Para obtener más información, consulte la sección Uso de animaciones infinitas con moderación de la guía de rendimiento.