2014-09-26 3 views
0

마침내 병합 된 형상의 성능 영향을 이해하고 있습니다. 나는 GPU가 모든 공유 된 지오메트리와 재료 (또는 아마도 재료 수)를 결합한 드로 콜을 가지고 있다는 것을 알아 챘다. 내 질문은 왜 개발자가 3.js가 병합 된 지오메트리의 모든 것을 그냥 분할 할 것이라는 사실을 명확히했을 때 지오메트리를 병합하는 방법을 찾아야하는 이유입니까?왜 우리는 형상을 병합해야합니까?

나는 아마 뭔가를 놓치고 있습니다.

답변

1

각 사용 사례가 다르므로 WebGLRenderer 성능에 대한 일반적인 설명을하기가 어렵습니다.

그러나 일반적으로 그리기 호출 수가 줄어들면 성능이 향상됩니다. 여러 메쉬가 있고 모두 동일한 재료를 공유하는 경우 메쉬 지오메트리를 단일 지오메트리로 병합하면 그리기 호출 수가 1로 줄어 듭니다.

이 방법은 여러 메쉬가 병합되면 서로 독립적으로 변환 할 수 없기 때문에 여러 메쉬가 서로 정적 인 경우에만 유용합니다.

네, 메쉬에 여러 재질이있는 경우 렌더러는 렌더링 전에 재질을 하나씩 작은 지오메트리로 분해합니다.

다음은 유용한 팁입니다. 콘솔에 renderer.info을 입력하고 반환 된 결과 개체를 검사하십시오. 이렇게하면 장면 뒤에서 무슨 일이 벌어지고 있는지 알 수 있습니다.

this utility을 사용하여 renderer.info을 화면에 표시 할 수도 있습니다.

three.js r.68

+0

무엇이 고장 났습니까? 그것은 threejs 또는 webgl입니까? 어떻게 작동합니까? – Parris

+1

three.js가 깨집니다. – WestLangley

관련 문제