1024x1024 인 RGBA 텍스처를로드 중입니다. 메모리 내장 텍스처 크기가 1024 x 1024 x 4 => 4MB가 될 것으로 예상했습니다. 그러나 메모리 소비를 인쇄하려고하면 텍스처가 약 7 - 8MB로 거의 두 배가 걸리는 것을 볼 수 있습니다. IPad가 모든 채널을 바이트에서 반 부동으로 변환하는지 궁금한데 그래서 모든 픽셀이 8 바이트가 아닌 4 바이트를 차지하도록 지정하는 방법이 있습니다.iPad OpenGL ES : 메모리 질감 크기
답변
당신은 유형 및 내부 형식이 glTexImage2D를 사용하여 만들려면 질감의을 지정해야합니다.
너의 것은 아마도 GL_FLOAT 또는 무엇인가로 설정되어있을 것이다.
조회 여기 문서 : 나는 이러한 ES에서 지원하는 경우 확실하지 않다하지만 http://www.opengl.org/sdk/docs/man/xhtml/glTexImage2D.xmlglTexImage2D의 type 인수는 텍스처 데이터를 생성 할 CPU 배열의 유형을 지정합니다. 내부 형식에만 의존하는 GPU의 데이터에는 영향을 미치지 않습니다. –
그럼에도 GL_FLOAT는 적어도 16MB의 결과를 가져옵니다. –
가장 쉬운 방법은, 그것은 (대신 GL_RGBA의 GL_RGBA8 같이) 크기의 내부 형식을 사용하고 지정합니다. 하지만 ES 장치가 채널 당 8 비트 이상을 표준 RGBA 텍스처로 저장하면 놀랍습니다.
어떻게 GPU 메모리 사용량을 결정합니까? VBO 같은 다른 중요한 GPU 리소스 때문에 추가 메모리가 필요하다고 추측하고 프레임 버퍼 자체 (렌더링하는 메모리)를 잊지 말고 합리적인 양의 메모리를 사용합니다. 그리고 밉맵을 사용하면 기본 텍스처의 메모리 중 약 33 %가 추가적으로 필요하다는 것을 기억하십시오.
당신이 텍스쳐를 생성하는 CPU 데이터의 크기에 대해 이야기하고 있다면, 이것은 어쨌든 텍스쳐의 크기와 관련이 없으며 자신의 데이터의 크기에만 의존합니다.
@downvoter downvote 이유는 무엇입니까? 좋아, 나는 ES 장치의 하드웨어 아키텍처에 맞지 않을 수도 있지만, 특히 잘못된 점이 무엇인지 알고 싶습니다. 아니면 내가 그 질문을 잘못 이해 했는가? –
- 1. 기본 OpenGL ES 질감 문제/Android
- 2. OpenGL ES 캔버스 크기
- 3. OpenGL ES 텍스처 메모리
- 4. iPad 용 OpenGL ES 분석기
- 5. OpenGL ES 1.1에서 많은 질감 입자를 빠르게 그리기
- 6. OpenGL ES 성능 2.0 vs 1.1 (iPad)
- 7. iPad OpenGL ES FPS가 너무 느립니다!
- 8. iPad 또는 iPhone이 OpenGL ES 2.0을 지원합니까?
- 9. OpenGL ES 1.1에서 텍스처의 메모리 사용량 줄이기
- 10. OpenGL 또는 OpenGL ES
- 11. OpenGL ES 1.1에서 OpenGL ES 2.0으로 전환
- 12. OpenGL ES 기능
- 13. OpenGL ES 클리핑 객체
- 14. OpenGL-ES 로의 OpenGL - glBegin();
- 15. iPhone 시뮬레이터 : OpenGL ES : 내부 텍스처 형식
- 16. 전체 화면으로 iPhone/iPad 키보드를 표시하는 방법 OpenGL ES 앱
- 17. OpenGL ES 바둑판 식 텍스처 밉맵 문제 - iPad/iPhone
- 18. iOS, iPhone, iPad (OpenGL ES)는 PBuffer를 지원합니까?
- 19. ipad [opengl-es]에 대한 페인트 응용 프로그램이 적합하지 않습니다.
- 20. iPhone OpenGL ES Texture2D 마스킹
- 21. OpenGL : 텍스처 크기 및 비디오 메모리
- 22. GPU에서 메모리 크기 할당 - OpenGL 텍스처로드 질문
- 23. OpenGL ES 비동기 텍스처로드
- 24. OpenGL ES iPhone Textures
- 25. OpenGL ES 인스트루먼트의 정확성
- 26. 데스크탑 PC의 OpenGL | ES
- 27. 조명 및 OpenGL ES
- 28. OpenGL ES 확대/축소
- 29. OpenGL ES 기능
- 30. OpenGL-ES and Cg
실수로 2048x1024 텍스처를로드 (또는 패딩)하지 않습니까? – bobobobo