2013-02-16 3 views
1

저는 LWJGL을 처음 사용합니다. 100 * 100 큐브로 구성된 레벨을 만들려고 할 때 (쿼드를 사용하여 만들 때) 랩톱에서 약 8 프레임을 얻습니다. 큐브의 5면을 삭제하고 상단 만 렌더링하면 10fps가됩니다. 어떻게 이럴 수있어? 큐브의 5면을 삭제할 때 나는 5 ~ 6 배의 성능을 기대했습니다. 내가 얻은 것은 정점의 양이 오브젝트의 양만큼 나쁜 성능 엉덩이에 영향을 미치지 않는다는 것이 었습니다. 또한 BLOB 클래스의 새 인스턴스를 만들어 큐브의 6면 모두에 임의의 색상을 저장합니다. 아무도 이걸 도와 줄 수 있니? 성능을 대폭 향상시키는 방법은 무엇입니까? (단지 일반적으로 묻는다. 내가 옳다고 생각할 수있는 유일한 것은 이제 근처에있는 블록을 가져 가며, 같은 블록 (예 : 먼지)이 거대한 단일 블록으로 렌더링되지만 텍스처를 변경하여 많은 것처럼 보이게 만듭니다 블록 수LWJGL에서 성능을 향상시키는 방법은 무엇입니까?

답변

3

흠 일반적으로 성능을 높이려면 glBegin/glEnd를 사용하지 마십시오. (나는 이것이 당신이 사용하고있는 것임을 짐작하고있다. 그렇지 않다면이 대답을 무시한다). 이는 즉각적인 모드로 알려져 있으며, 정점/인덱스 버퍼를 생성 한 후 렌더링하는 것보다 상당히 느립니다. 지오메트리가 정적이라면 현대적인 GPU에서 60fps로 10000 큐브 렌더링에 문제가 없어야합니다. lwjgl 사이트 here에 관한 튜토리얼과 opengl wiki here에 대한 자세한 정보가 있습니다.

+0

예, glBegin/glEnd를 사용하고있었습니다. 당신이 말하는 말이 사실이라면, 이것은 가장 좋은 대답입니다 :) 그 근원을 읽을 것입니다, 고마워요. –

관련 문제