수천 개의 큐브로 구성된 드로잉 표면입니다. 그러나 내가 양의 Z 방향으로보고있을 때, 그것이 빛이있는 곳이며, 낮은 fps와 인공물을 얻습니다. 이 나는 양의 Z 방향으로 찾고 있어요 때의 모습이다가도 눈에 띄게 FPS 방울 : OpenGL 특정 방향을 볼 때 FPS가 낮음
답변
당신은 아마의 의존 이 내가 음의 Z 방향으로 찾고 있어요 때 모습입니다 큐브가 렌더링되는 순서. 그것은 + Z 또는 -Z를 보는 것의 차이점을 설명 할 것입니다. 전방으로 렌더링 할 때 모든 큐브의 모든 조각이 렌더링됩니다. 깊이 테스트로 앞뒤로 렌더링 할 때 대부분의 조각은 버려집니다. 당신이보고있는 인공물에 관해서는, Z- 싸우는 수 있지만, 그것은 긴 총입니다.
그건 의미가 있습니다. 수동 솔루션 이외의 렌더링을 앞뒤로 켤 수있는 다른 방법이 있습니까? – user1760770
여러 가지 방법으로 렌더링을 최적화 할 수 있습니다. 정말 당신의 코드의 실제 적용이 무엇인지에 달려 있습니다 (저는 여러분이 바닥을 그리기 위해 수천 개의 큐브를 사용하고 싶지 않다고 생각합니다). 그러나 특정 경우에, 폐색 된면을 렌더링하지 않도록 (폐색 쿼리, 뒷면면 제거, 정렬, 하나의 큰 구체 렌더링 ...). 우리는 당신을 더 도울 수있는 더 자세한 정보가 필요합니다. 하지만 이미 시도해 볼 수 있다고 생각합니다. 희망이 도움이 –
대단히 고마워요 :) – user1760770
성능 저하가 얼마나됩니까? 지오메트리의 Z 전용 사전 통과를 수행하고 색상 버퍼에 쓰는 것을 건너 뛰고 (매우 단순한 통과 쓰레드 쉐이더를 사용하는 경우) 순서가 잘못되거나 정렬되지 않은 형상이있는 상황에서 성능을 크게 향상시킬 수 있습니다. 유효 기간 제한. 그러나 이것은 복잡한 조각 처리를 할 때만 도움이됩니다. 기본적으로 모든 것을 두 번 그리기 때문에 두 번 정점 변환 오버 헤드가 발생합니다. 큐브의 표면을 구성하는 것이 정확히 대형 평면을 렌더링하는 가장 효율적인 방법이 아니기 때문에 상황은 정점 또는 단편 경계 일 수 있습니다.
다른 제안은 "수천 개의 큐브"로 구성된 장면 렌더링이 복셀 축소와 유사한 것을 구현하는 것임을 말합니다. 이 예제의 모든 큐브는 동일한 평면에있는 것처럼 보이므로 이러한 큐브 컬렉션의면을 인접한 큐브를 결합하는면으로 쉽게 대체 할 수 있습니다. Minecraft는 greedy meshing 알고리즘을 사용하여 장면의 동적으로 업데이트 된 부분을 주기적으로 다시 메쉬함으로써이를 수행합니다.
물론 공간 분할이 다른 문제이지만, 이미 시스템에 일종의 시스템이 있다고 가정합니다.
예, 있습니다. 나는 Jean-Simon Brochu가 back to front 렌더링 성능을 제안하면서 원래 게시물에 문제가있었습니다. 나는 이미 그것을 바꿨고 그것은 잘 동작합니다. 그래도 통찰력을 가져 주셔서 감사합니다. – user1760770
- 1. 컴퓨터에서 OpenGL 성능이 낮음
- 2. OpenGL : GLSL float의 정밀도가 낮음
- 3. iPad OpenGL ES FPS가 너무 느립니다!
- 4. Unity3D 큐브를 때 볼 방향을 변경
- 5. 화면에서 움켜 잡을 때 fps가 증가합니다.
- 6. OpenGL 롤링 볼
- 7. openGL/maths 점의 방향을 설정하고 그 방향을 변경하는 방법
- 8. glDrawElements가 너무 많아 fps가 낮습니다. OpenGL ES1.1 (iPhone)
- 9. fps가 높지 만 iPhone OpenGL ES에 떠도는 애니메이션
- 10. OpenGL es 2.0 사용자 정의 쉐이더 낮음 fps (android)
- 11. 방향을 제어하는 데 도움이되는 OpenGL 입자
- 12. OpenGL ModelView 매트릭스에서 뷰 방향을 얻으려면 어떻게해야합니까?
- 13. OpenGL : 주어진 방향을 가리 키도록 객체 회전
- 14. 4.2 시뮬레이터에서 특정 OpenGL ES 차트를 볼 수없는 이유는 무엇입니까?
- 15. 왜 내 FPS가 떨어지나요?
- 16. Android에서 특정 가로 방향을 선택하십시오.
- 17. Box2D 충돌로 막대한 FPS가 떨어짐
- 18. OpenGL 및 Direct3D : 프로그래머의 관점에서 볼 때 어디서서야합니까?
- 19. 안드로이드에서 픽셀 쉐이더를 사용할 때 거대한 FPS가 떨어짐
- 20. UICollectionView의 해상도가 낮음
- 21. CUDA에서의 GPU 사용량이 낮음
- 22. 조건부 호버 상태가 낮음
- 23. 전체 양식의 투명도가 가장 낮음
- 24. 화면 방향을 강제로 닫을 때
- 25. 보기 아이폰의 특정 부분의 방향을 변경하는 방법
- 26. 게임이 느려지는 모델 - OpenGL
- 27. Chrome 설치시에만 HTML5 비디오가 흐리고 콘트라스트가 낮음
- 28. 카메라가 특정 방향을 향하고 있는지 확인하십시오.
- 29. 위도와 경도에서 방향을 잡을 때
- 30. 방향을 바꿀 때 SQLiteOpenHelper 처리
컬링을 구현 했습니까? 큐브를 만질 때 어떻게 렌더링합니까? 낮은 fps는 일반적으로 많은 계산을 나타냅니다. 가능한 경우 정점 수를 줄이지 않으면 발생할 수 있습니다. – Femaref
나는 뒷면 새김을 가능하게했다. 큐브는 단일 일 때 그대로 건 드리면 렌더링됩니다. – user1760770
유물은 정확히 어떻게 보이나요? – Femaref