2014-04-23 2 views
1

저는 (코르도바로 싸인) 모바일 장치에서 내 카드 게임의 성능을 향상시킬 수있는 방법을 찾으려고합니다.모바일 장치의 성능을 향상시키기 위해 Physijs를 끄는 방법은 무엇입니까?

스크립트는 WebGL을 사용할 수 있는지 검색하고 Canvas 2d가 지원되지 않는 경우이를 대체합니다. 하지만 내 삼성 갤럭시 S4에서 5-10fps로 낮습니다.

Physijs를 사용 중지 할 수 있나요? 그렇지 않은 경우 어떻게 Physijs 객체 대신 ThreeJS 객체 만 반환하도록 Physijs 함수를 다시 작성할 수 있습니까? Exmeple은 : 항상 가치로

if(disablePhysics) { 
     Physijs.createMaterial(elem,v1,v2) { 
      return elem; 
     } 
    } 

당신의 도움이, 당신 :

답변

0

당신이 당신의 웹 페이지에 Physijs 물리 시뮬레이션을 사용하지 않으려면, 당신이 할 필요가 하지입니다 감사합니다 당신의 렌더링 루프에서 scene.simulate() 메소드를 호출

function render(){ 
    if(!disablePhysics){ 
     scene.simulate(); 
    } 

    renderer.render(); 
} 

Physijs 객체를 생성하고 그들에 어떤 시뮬레이션을 실행하지하는 것이 안전합니다. 그들은 세 가지 Object3D과 그 자녀를 상속받습니다. 따라서 Physijs 대안이 없으면 어느 정도 동일해야합니다. 그것은 단지 모든 장면이 associated worker이며, 단순히 거기에 앉아있는 실을 가지고 있으면 쓸모가 없다는 것입니다. 해결책은 실제로 쉽습니다. 새 THREE.Scene을 만들고 모든 Physijs.Mesh 개체를 전송합니다. 물리학을 비활성화 할 때

결론

그래서 :

  • 그냥 일반적으로
  • 당신은 THREE.Scene에 모든 Physijs.Mesh 객체를 전송 대신 할 수 Physijs 장면을 채우기 scene.simulate()
  • 를 호출하지 마십시오 그들을 계속해서 Physijs.Scene
관련 문제