2014-10-02 4 views
0

학교에서 OpenGL을 배우기 시작했으며 특히 .obj 메쉬 로더를 구현했습니다. 아주 무거운 메쉬 (4M에서 최대 17M면)를 사용하여 학교에서 코드를 실행하면 메쉬가로드 될 때까지 몇 초 기다려야하지만 완료되면 완벽하게 유동적으로 화면을 회전시키고 이동할 수 있습니다.컴퓨터에서 OpenGL 성능이 낮음

나는 집에서 같은 코드를 컴파일했고, 무거운 메쉬가 표시되는 장면에서 이동할 때 성능이 매우 낮습니다.

나는 3.0 Mesa 10.1.3 버전의 OpenGL (이것은 cout << glGetString(GL_version) << endl의 출력 임)과 g++-4.9으로 컴파일 중입니다. 내 학교의 버전 번호는 기억이 안나지만 필요한 경우 최대한 빨리 내 메시지를 업데이트하겠습니다. 마지막으로, 나는 에 우분투 14.04 해요 내 그래픽 카드는, 내 CPU가 인텔 (R) 코어 (TM) i5-2320 CPU의 @의 3.00GHz엔비디아 지포스 605이고, 나는 8Go RAM이 .

아주 좋은 컴퓨터 (확실히 경주마는 아니지만 충분히 좋음)에서 느리게 실행되는 이유를 이해하고 (수정 해주십시오) 도움이 될만한 의견이 있으면 알려주십시오. 미리 감사드립니다!

답변

2

TL; DR : 잘못된 드라이버를 사용 중입니다. NVidia에서 독점 폐쇄 소스 바이너리 드라이버를 설치하면 매우 우수한 성능을 얻을 수 있습니다. 또한 GeForce 605를 사용하면 OpenGL-4.x를 일부 지원해야합니다.


내가 OpenGL을 (...)의 3.0 메사 10.1.3 버전을 사용하고 내 그래픽 카드가 바로 거기에 문제의 엔비디아 지포스 (605)

입니다. 메사의 일부인 NVidia GPU 용 오픈 소스 "Noveau"드라이버는 어떤 종류의 합리적인 HW 가속 지원을 제공하더라도 먼길 매우입니다. 이것은 NVidia가 공개적으로 사용 가능한 문서를 GPU의 저급 프로그래밍에 게시하지 않기 때문입니다.

그래서 현재 GPU에서 HW 가속 OpenGL을 얻는 유일한 방법은 NVidia의 독점 드라이버를 설치하는 것입니다. NVidia의 웹 사이트에서 제공됩니다. 그러나 GPU가 "최첨단"상태가 아니기 때문에 패키지 관리자를 통해 설치할 수있는 GPU를 사용하는 것이 좋습니다. 당신은 "nonfree"패키지 소스 저장소를 추가해야 할 것이다.

이것은 공개적으로 접근 할 수있는 완전한 문서 커버리지를 가진 AMD GPU와 완전히 다른 것입니다. 그 때문에 메사의 "radeon"드라이버는 꽤 성숙합니다. 대부분의 응용 프로그램에 충분한 성능을 제공하는 OpenGL-3.3 코어의 전체 지원, 일부 응용 프로그램에서는 AMD의 독점 드라이버보다 우수한 성능을 제공합니다. OpenGL-4 지원은 메사에 대한 작업이 진행 중이고 마지막으로 "radeon"드라이버의 개발이 실제로 메사 OpenGL 상태 추적기보다 더 빠른 속도로 진행되고 있음을 확인했습니다.

+0

저는 리눅스에 처음 접했을 뿐이므로이 말을 듣지 못했습니다. '패키지 관리자를 통해 설치할 수있는 것을 사용하는 것이 좋습니다. 당신은 "nonfree"패키지 소스 저장소를 추가해야 할 것이다. 또한, 저는 방금 리눅스를 설치 했으므로 제 GPU 용 "Linux 드라이버"를 설치하지 않았기 때문에 대답이 정확할 가능성이 큽니다. – Dici

+0

@Dici : 글쎄요, 진실을 말하자면 : ** NVidia ** GPU는 요즘에는 제대로 작동하도록 타사 드라이버를 수동으로 수동 설치해야하는 요즘 유일한 하드웨어에 관한 것입니다.다른 모든 하드웨어는 기본적으로 지원되며 사용자는 신경 쓸 필요가 없습니다. (심각한 균열이있는 영역이 있지만 요즘에는 개발자 만 볼 수 있습니다). 어쨌든 다음과 같이 읽고 싶습니다. https://help.ubuntu.com/community/BinaryDriverHowto/Nvidia – datenwolf

+0

고마워요, 잠시 시간을내어 볼게요, 자정이 필요 해요. (2:51 AM , 오전 8시에 작업). 주어진 .run 파일 (Nvidia 웹 사이트에서)을 사용하여 독점 드라이버를 설치하지 못했습니다. 내일 다시 시도하고 내 문제를 해결하면 대답을 수락합니다 :) – Dici

관련 문제