我正在试图找到一种方法来提高我的纸牌游戏在移动设备上的性能(用Cordova包装)。
该脚本检测WebGL是否可用,如果不支持,则回退到Canvas 2d。但我的三星Galaxy S4的帧率很低,只有5-10帧。
可以关闭Physijs吗?如果不是,我如何重写Physijs函数来只返回ThreeJS对象而不是Physijs对象?示例:
if(disablePhysics) {
Physijs.createMaterial(elem,v1,v2) {
return elem;
}
}一如既往,您的帮助是宝贵的,谢谢您:)
发布于 2016-10-12 05:30:35
如果你想在你的网页上禁用Physijs物理模拟,那么你所需要做的就是不要在你的渲染循环中调用scene.simulate()方法:
function render(){
if(!disablePhysics){
scene.simulate();
}
renderer.render();
}创建Physijs对象并不在其上运行任何模拟是安全的。它们继承了THREE的Object3D及其子代,所以如果没有Physijs替代品,应该或多或少是相同的。只是每个场景都有一个associated worker,简单地把一个线程放在那里是没有用的。解决方案实际上很简单:创建一个新的THREE.Scene并将所有Physijs.Mesh对象传输到它。
结论
因此,当禁用物理时:
不要调用scene.simulate()
Physijs.Mesh对象转移到THREE.Scene而不是把它们保存在Physijs中https://stackoverflow.com/questions/23233828
复制相似问题