어째 어째 오브젝트에 텍스처를 입히는 기능을 추가하였는데. 갑자기 성능이 뚝 떨어졌다.
텍스처를 생성하는 시점을 잘못 넣어서 성능이 뚝 떨어진거였는데 WebGL은 개발자가 직접 CPU -> GPU로 데이터를 넣어줘야한다.
버퍼를 생성하고, 버퍼를 변경하는 코드가 하나의 함수안에 합쳐져 있고 이 함수는 매 rendering시 호출되고 있다.
이렇게 되면 매 render 함수가 호출 될 때마다
이 행위가 반복적으로 발생하고 이것이 병목으로 발생하여 프레임이 뚝 떨어지게된다.
해결방법은 간단하다. 객체 생성시 최대한 앞쪽에 Texture를 많이 생성하고 GPU로 이동시키고
Render 할때마다 Texture를 activeTexture, bindTexture 함수를 통해서 갈아 끼워가면서 렌더링하는것이다.
또한 되도록 버퍼를 생성하는 함수, 버퍼를 사용하는 함수는 분리하여 사용하는게 실수를 줄일 수 있는 방법이 될것같다.
(지금은 해결되서 부드럽게 잘 돌아가고 있다.)