如果您将以下代码放入MonoGame应用程序的游戏循环(Update或Draw)中(可以是默认项目模板):
于是我尝试了这个:
new Windows.UI.Xaml.Media.Imaging.WriteableBitmap(150, 150);
它抛出了一个跨线程错误...
The application called an interface that was marshalled for a different thread. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))
于是我尝试了这个:
var dispatcher = Windows.UI.Core.CoreWindow.GetForCurrentThread().Dispatcher;
dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, delegate
{
new Windows.UI.Xaml.Media.Imaging.WriteableBitmap(150, 150);
});
同样的错误。
从底层上看,似乎MonoGame没有在后台线程上运行游戏循环。它使用同步循环。
有什么想法可以在MonoGame中使用WriteableBitmap
吗?(我需要用它来渲染一些实时磁贴)