2017-04-10 12 views
0

제목이 주요 질문입니다. 내 컴퓨터에서 PyOpenGL 코드를 실행 중이 었는데 다소 느리게 실행되었습니다. PyOpenGL을 설치하지 않았다는 것을 깨달았습니다. 이것은 속도를 전혀 변경하지 않았지만 Python OpenGL 바인딩을 사용하는 대부분의 자습서는 PyOpenGL 가속을 설치해야한다고 제안합니다.PyOpenGL- 가속은 정확히 무엇입니까?

이 모듈은 정확히 무엇을합니까? 에서

답변

2

우선 PyOpenGL 가속은은 총알이 아닙니다. 따라서 이미 애플리케이션을 제대로 최적화하지 않은 경우 PyOpenGL-accelerate를 사용하면 추가 성능이 향상되지 않습니다.

그렇습니다. PyOpenGL-accelerate는 Cython 가속기 모듈로 구성되어 PyOpenGL 3.x의 다양한 측면을 가속화합니다. 따라서 glBegin()glEnd()을 사용하여 그림을 그릴 경우 성능이 향상되지 않습니다.

그래서 Cython 가속기 모듈이란 무엇입니까?

이 모듈은 완전히 독립적이며 CPython에서 실행되는 동등한 순수 Python 코드보다 빠르게 실행되도록 만들어졌습니다. 이상적으로 가속 모듈은 지정된 시스템에서 가속 된 버전을 사용할 수없는 경우 대체로 순수 Python과 동일한 기능을합니다. CPython 표준 라이브러리는 가속기 모듈을 광범위하게 사용합니다. 더 쉽게 설명하자면

Python – Binary Extensions

. Cython은 파이썬과 C 사이의 혼합 된 이야기입니다. 목표는 최적화 및 실행 속도입니다.

PyOpenGL-accelerate와 관련하여 PyOpenGL이 제공하는 다양한 도우미 클래스를 의미합니다. 대신에 더 많은 성능을 제공하는 방식으로 구현됩니다.

0

documentation :

C (사이 썬) 확장 세트가 PyOpenGL 3.x에 느린 점에 대한 일반적인 작업의 가속화를 제공

큰 배열을 사용하는 코드의 경우 속도가 크게 향상되지 않고 코드에 비해 약 10 % 정도입니다.

당신이 정의 된 최적화를 정확히 알고 싶다면 당신은 코드를 통해 팔 수 있지만, OpenGL은 일반적으로 다른 하드웨어 설명하기 위해 놀라 울 정도로 거친 최적화를 중심으로 구축되어

- 내가 그 통역의 떨어져뿐만 아니라 실행까지 확장한다고 가정 .

+0

우리는 정확히 같은 시간에 응답했다. 그것은 인상적입니다. – Vallentin