2011-08-25 72 views
3

我完成Learningwebgl.com和Mozilla教程,一切看起来不错,在第一,但...寻找一些技巧,以优化我的WebGL 3D引擎

不幸的是,我的第一个发动机减速赚很多的功能后也将脚本分成多个部分(比如core.js,math.js,mesh.js等),所以我进入了这个性能问题。

现在在LocalHost上加载页面需要花费几秒钟(速度很快),并且加载纹理和网格的时间也只有几秒钟,刷新页面几次后Chrome会冻结,CPU/GPU使用率异常,甚至我的'WampServer'崩溃!

我不是Javascript高手,但这件事(webgl)看起来非常敏感,容易被任何错误分解,我使用Canvas2D制作在线绘画应用程序,并且从未出现过类似的问题。

我注意到当我把所有的脚本放到单个HTML或JS文件中时,性能要比许多小脚本高得多,也许这就是问题所在?

注:我没有使用jQuery或任何其他库。 (只有glMatrix和RequestAnimationFrame脚本)

问题:在重新从头开始编写引擎之前,请给我一些提示,我不想犯同样的错误!

对不起语言

+1

是的,把所有的js放在一个文件缝是最好的做法,尽管使用的工具会为你生成js文件,所以你仍然可以享受独立文件的好处。也不要使用机箱。 –

+0

从你的判断来看问题比WebGL更多的JS问题:|。 Chrome浏览器有大量纹理的问题(Chrome浏览器速度很慢)。浏览器可能会产生并发连接数的限制,这也许是另一个瓶颈? –

回答

5

我发现了一篇关于WebGL优化的好话题。希望它是有用的: http://www.youtube.com/watch?v=rfQ8rKGTVlg

有关如何提高WebGL性能相当令人印象深刻的部分。

+0

别指责我,但Google I/O扬声器;) –