2012-02-13 29 views
3

我使用多個NSOpenGLViews。全部設置爲NSWindowcontentView,它顯示在自己的屏幕上。全部NSOpenGLViews調用類Scene中聲明的方法-(void)render:(NSOpenGLView *)sender;。這個類繪製所有的頂點。OpenGL的多個顯示器上

一切工作正常,但性能是可怕的:一個顯示器,一切都很好(大約500fps)。當我添加顯示器時,速度非常慢(大約20fps)。

是否有可能加快速度?

+0

我不知道這是否會工作或沒有,但嘗試把'[sender.openGLContext makeCurrentContext]'之初渲染方法繪製前。 – user1139069 2012-02-14 05:08:26

+0

這沒有奏效,但我在我的openGL代碼中發現了一個錯誤(忘記glEnd()),現在一切正常。另一方面,表現是可怕的。 – Fatso 2012-02-14 10:55:21

+0

你能詳細說明你正在渲染的窗口和視口的數量嗎?你的第二臺顯示器是在同一塊顯卡上,還是不同的GPU? – holtavolt 2012-02-16 22:50:49

回答

1

難道你填充率綁定? GPU都非常好,但像素推動是你可以要求他們做的最慢的事情。在任何一個屏幕上什麼都不畫的時候幀率是多少?

是可能發生的另一件事是你得到的軟件仿真。如果你的卡不支持做某事,這可能發生。

+0

我會很快回復你,我必須先找到第二個顯示屏(剛搬到其他城鎮,我的電視機在家中)。 – Fatso 2012-02-18 10:41:40