現在、c#(WPF)で使用されるc ++/cliで記述されたラッパーがあります。このラッパーは、ネイティブのc ++グラフィックエンジンをc#で理解できるコードにラップしています。しかし、これは問題ではありません(待ってください...)。したがって、WPFには、(HWND)からハンドルを受け取るWindowsコントロール(はい、可能です)があります。これはすべて素晴らしいことであり、フレームはレンダリングされています。唯一の問題はパフォーマンスです。レンダリングは次のようにトリガーされます。
...
System.Windows.Media.CompositionTarget.Rendering += new EventHandler(Render);
}
private void Render(Object sender, EventArgs e)
{
EngineWrapper.RenderFrame();
}
したがって、fpsは非常に低く、Render()への呼び出しレートはかなり低くなります(私のアプリケーションは元々MFCであり、フレームレートがはるかに高かったためです!)。だから私はあなたに尋ねています、これを後押しする方法はありますか?新しい方法、別のスレッド?(どういうわけか可能でなければなりません...)
編集:私は次の方法でWindowsコントロールを作成します:
System.Windows.Forms.Integration.WindowsFormsHost host =
new System.Windows.Forms.Integration.WindowsFormsHost();
System.Windows.Forms.Panel panel = new System.Windows.Forms.Panel();
host.Child = panel;
this.RenderCamera_WorkareaGrid.Children.Add(host);
ありがとうございました