私は複数のNSOpenGLViews
を使用しています。すべてはNSWindow
のcontentView
として設定され、それ自身の画面に表示されます。すべてNSOpenGLViews
Scene
で宣言された-(void)render:(NSOpenGLView *)sender;
メソッドを呼び出します。このクラスはすべての頂点を描画します。複数のディスプレイでのOpenGL
すべてうまくいきますが、パフォーマンスは恐ろしいです:1つのディスプレイですべてがうまくいきます(約500fps)。ディスプレイを追加すると非常に遅いです(約20fps)。
スピードアップが可能ですか?
これがうまくいくかどうかわかりませんが、描画前にレンダリングメソッドの先頭に '[sender.openGLContext makeCurrentContext]'を入れてみてください。 – user1139069
これはうまくいきませんでしたが、私のopenGLコードにエラーが見つかりました(glEnd()を忘れました)、すべてがうまくいきます。一方、パフォーマンスは恐ろしいです。 – Fatso
レンダリングしているウィンドウとビューポートの数について詳しく説明できますか?第2のディスプレイは同じグラフィックスカード、または別のGPUにありますか? – holtavolt