gltf vs obj

ㅎㄱㅎ·2020년 7월 23일
0

회사에서 obj 포맷이 너무 느리다는 의견이 있어 gltf 로 테스트
버텍스 : 약 200만개
로딩 완료 콜백에 커스텀 이벤트 dispatch하여 로딩 시간 측정

Three js ObjLoader
- 약 30초
Three js GLTFLoader
- 약 1초

왜 빠르냐?
obj 파일 포맷은

이렇게 생겼다. 한줄한줄 파싱을 해갖고 Geometry를 찍어 내므로, 당연히 버텍스가 많으면(리소스 퀄리티가 좋거나) 느릴 수 밖에 없다. 이 부분이 시간이 가장 오래 걸린다.

parse..parse..parse..

반면에 gltf 파일 포맷은 3D MAX에 플러그인이 제공되고, 이를 통해 gltf 파일로 export 한다. export 하면 텍스처 파일과, .gltf, .bin 파일이 생성된다. 추측하건데 bin에 geometry들을 획기적으로 압축? 한 결과가 있을 것 같다. (아래 문서 가보면 DracoLoader 라는걸 쓰는데 이게 압축하고 해제하고 하는 알고리즘이라네용)


뭔가 일사분란한 느낌이 든다. 50ms안에 한 작업이 이뤄진다.

.obj, .gltf모두 IE11 에서 작동 한다. 속도 '차이'도 비슷하다

objLoader document : https://threejs.org/docs/#examples/en/loaders/OBJLoader
GLTFLoader document : https://threejs.org/docs/#examples/en/loaders/OBJLoader

profile
dog발자

1개의 댓글

comment-user-thumbnail
2020년 7월 23일

1빠. 잘 보고 갑니다 ^^

답글 달기