json 파일을 사용하여 매우 복잡한 모델을 렌더링하려고합니다. json 파일의 크기는 40MB이므로 대용량 데이터이므로 모델을 캔버스에 렌더링 할 수 있습니다.WebGl 렌더링은 JSON 파일의 경우 매우 느립니다. JSON 파일의 크기 때문입니까?
이제 렌더링 문제는 매우 느리게 처리됩니다. 모델을 회전 시키거나 확대하려고하면 전체 브라우저가 멈추고 느려집니다.
나는 webgl에 새로운 무엇이 나는이 문제를 일으키는 지 모른다. 주변을 둘러 보니 아무 것도 찾지 못했습니다.
렌더링에 영향을 미치는 json 파일의 크기입니까? 성능 향상을 위해 어떻게해야합니까? 나는 이것을 언급해야한다, 그것은 그래픽 카드의 문제가 아니다. 바디 브라우저와 같은 것들은 매우 빠릅니다.
애니메이션으로 불린다 I이 방법 나 기능 렌더링
renderer = new THREE.CanvasRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
container.appendChild(renderer.domElement);
init을이 내부 하하고, 렌더링
loader = new THREE.JSONLoader();
loader.load('file.js', function (geometry) {
geometry.computeVertexNormals();
mesh = new THREE.Mesh(geometry, new THREE.MeshFaceMaterial());
scene.add(mesh);
});
제이슨 로더 three.js를 사용하고()
function animate() {
requestAnimationFrame(animate);
render();
stats.update();
}
과 같이 메쉬를 회전하는 렌더 함수에서
,210function render() {
mesh.rotation.x += (targetXRotation - mesh.rotation.x) * 0.05;
mesh.rotation.y += (targetYRotation - mesh.rotation.y) * 0.05;
renderer.render(scene, camera);
}
IO 때문일 가능성이 큽니다. 40MB 파일을 읽기위한 IO 지연은 렌더링 속도가 느릴 정도로 높습니다. 또한 JSON이 아니라 JSON입니다. – Corbin
몇 가지 코드, 특히 렌더링 방법을 알려주시겠습니까? 데이터에 버퍼를 사용하고 있습니까? – Matthias
빠른 응답을 위해 고맙습니다.이 경우 json 파일을로드하는 효율적인 프로세스는 무엇입니까? 바디 브라우저조차도 거대한 데이터입니다. 그 뒤에있는 원리는 무엇입니까? Thanx @ Json 교정을위한 코빈 (불면 작업의 효과). – Vij