CompositionTarget.Rendering事件是構建遊戲主循環的完美之處。它基本上以vsync的速率(通常爲60 Hz)觸發。在CompositionTarget.Rendering中可以做什麼?
發生就在之前,合成樹中的對象被渲染。在將動畫和佈局應用於合成樹之後,渲染事件將路由到指定的事件處理程序。
per-frame animation how-to文章解釋了一點點。
請注意,您的事件處理程序方法在計算佈局後調用。但是,您可以在事件處理程序方法中修改佈局,這意味着佈局將在渲染之前再次計算。
此基礎上,它的處理器內部代碼的規則是:
- 避免更改佈局
- 返回快速
什麼其他的陷阱有哪些?什麼非顯而易見的操作會導致另一個佈局傳遞?我在處理程序中究竟有多少時間?
我很清楚所有這一切,我仍然想在WPF中製作遊戲。 –
@AnsisMalins爲什麼?根據定義,這種方法是不合適的。如果您在需要使用螺絲刀時使用小刀,請不要感到驚訝,如果您滑動並割傷手。 – Basic