2012-02-13 3 views
3

다중 NSOpenGLViews을 사용 중입니다. 모두는 자신의 화면에 표시되는 NSWindowcontentView으로 설정됩니다. 모든 NSOpenGLViewsScene 클래스에 선언 된 -(void)render:(NSOpenGLView *)sender; 메서드를 호출합니다. 이 클래스는 모든 정점을 그립니다.다중 디스플레이에서 OpenGL

모든 것이 잘 작동하지만 성능은 끔찍합니다 : 하나의 디스플레이로 모든 것이 잘됩니다 (약 500fps). 디스플레이를 추가하면 매우 느립니다 (약 20fps).

속도를 높일 수 있습니까?

+0

이것이 작동하는지 알지 못하지만 그리기 전에 렌더링 메소드의 시작 부분에'[sender.openGLContext makeCurrentContext]'를 넣어보세요. – user1139069

+0

그게 작동하지 않았지만, 내 openGL 코드에서 오류를 발견했습니다. (glEnd()를 잊었습니다.) 모든 것이 잘되었습니다. 반면에, 성능은 끔찍합니다. – Fatso

+0

랜더링 할 윈도우와 뷰포트의 수를 상세히 설명 할 수 있습니까? 두 번째 디스플레이가 동일한 그래픽 카드 또는 다른 GPU에 있습니까? – holtavolt

답변

1

당신은 채워지는 것이 가능합니까? GPU는 모두 훌륭하고 훌륭하지만 픽셀 밀기는 사용자가 할 수있는 가장 느린 작업입니다. 두 화면에서 아무 것도 그리지 않을 때 프레임 속도는 무엇입니까?

다른 문제는 소프트웨어 에뮬레이션을 얻는 것입니다. 카드가 무언가를하는 것을 지원하지 않는다면 이런 일이 일어날 수 있습니다.

+0

나는 곧 당신에게 돌아갈 것이다, 나는 두 번째 전시를 먼저 찾아야한다 (단지 다른 도시로 이사했고 내 TV는 집에있다). – Fatso