카테고리 없음

[자바 스크립트] WebGL의 효율적인 VBO 할당

행복을전해요 2020. 12. 23. 05:27

이 컨텍스트에서 VBO를 할당 / 업데이트하는 가장 효율적인 방법은 무엇입니까? DYNAMIC_DRAW 및 bufferSubData를 사용하여 각 개체를 업데이트해야한다고 확신합니다.

이것이 참으로 갈 길이다. 실제로 객체에 대해 이중 또는 삼중 버퍼링을 사용하려고합니다. 즉, 하나의 VBO를 그리기에 바인딩하고 다른 하나의 내용을 새 데이터로 업데이트합니다. glMapBuffer 이후 에는 프로세스의 모든 스레드에서 메모리 맵에 액세스 할 수 있으므로 렌더링 스레드가 현재 프레임을 그리는 동안 바쁘게 "뒤로"버텍스 버퍼를 업데이트하는 작업자 스레드를 가질 수 있습니다.

아니면 제가 지나치게 생각하고있는 메모리 공간 측면에서이 정도가 충분히 작습니까?

처리중인 최악의 메모리 공간을 평가 했습니까? 귀하의 숫자가 주어지면 16MiB 미만이 될 것입니다 (150 객체 * 2048 포인트 * 포인트 당 배정 밀도 부동 3 개 * 배정 밀도 부동 소수점 당 8 바이트 = 7.4MiB, 단 정밀도 부동 소수점이 사용되는 경우 3.7MiB 만). 이를 최신 그래픽 카드가 제공하는 수백 MiB RAM과 비교해보십시오 (제 2006 GeForce 8800GTX에는 768MiB RAM이 있고 Radeon HD6570에는 1024MiB (= 1GiB)가 있습니다).



출처
https://stackoverflow.com/questions/7420092