Javascript Cocoon.js&;Three.js:提高性能

Javascript Cocoon.js&;Three.js:提高性能,javascript,performance,three.js,cocoonjs,Javascript,Performance,Three.js,Cocoonjs,我已经开发了一个基本的3D游戏,使用box2Dweb进行物理处理,使用three.js进行渲染。这是一个基本的侧滚。我想让它在iOS上运行。我决定使用cocoon.js打包游戏,因为它允许在iOS上使用WEBGL 我遇到的问题是性能。在台式机上,游戏运行速度约为每秒50帧。在iPhone5上,它以每秒3帧的速度运行 我试着剥离游戏,移除所有纹理,移除着色器,移除skybox,渲染更少的级别(只渲染摄影机视图中的内容,稍微前后)。这确实使我的性能提高了25%。因此,它现在以4FPS的速度运行 我看

我已经开发了一个基本的3D游戏,使用box2Dweb进行物理处理,使用three.js进行渲染。这是一个基本的侧滚。我想让它在iOS上运行。我决定使用cocoon.js打包游戏,因为它允许在iOS上使用WEBGL

我遇到的问题是性能。在台式机上,游戏运行速度约为每秒50帧。在iPhone5上,它以每秒3帧的速度运行

我试着剥离游戏,移除所有纹理,移除着色器,移除skybox,渲染更少的级别(只渲染摄影机视图中的内容,稍微前后)。这确实使我的性能提高了25%。因此,它现在以4FPS的速度运行

我看了一下iOS launcher应用程序附带的演示,它们都运行得非常顺利

我唯一能想到的提高性能的另一件事是缩小JS,我认为这不会给性能带来多大提升

我正在launcher应用程序中使用加速画布/WebGL。我也尝试过使用canvas+选项编译,同样的问题。我正在使用three.js修订版67。我在three.js中使用webGL渲染器:

this.renderer = new THREE.WebGLRenderer

关于如何使用cocoon.js提高three.js的性能有什么建议吗?

我已经设法将帧速率提高到25 fps左右,这是一个巨大的改进

首先,我删除了所有阴影,不仅是从投射阴影的对象中,而且从所有光源和渲染器中:

object3d.castShadow = false;

light.castShadow = false;

renderer.shadowMapEnabled = false;
我还使用了多种光源。这是最大的罪魁祸首。我只保留了一个光源,这大大提高了帧速率

接下来,我消除了雾,这给了我一个额外的fps夫妇


我还简化了JavaScript,它似乎在性能上也有了轻微的改进

很高兴看到您已经解决了问题

你可能忘记了“背面剔除”,主要用于提高游戏性能

(不可见的任何多边形都不会渲染) 这个wiki链接解释得更好

我还建议你学习这门很棒的3D图形课程,它基于Three.js

是否对渲染器使用反序列化(
THREE.WebGLRenderer({antialas:true})
)?你可以把它关掉一秒钟,然后检查你的帧速率提升..谢谢@LePhleg,好建议。我将尝试发布结果here@eskimo您能否在
反别名测试中发布任何结果?