2010-09-13 117 views
4

我正在优化我的html5游戏引擎的性能问题,我想知道渲染过程需要多少时间。所以我得到了一堆渲染函数。每个渲染函数都会分离出不同的部分。比如块,玩家等为什么我的计时代码总是返回0?

function gameRender() { 
    var d1 = new Date(); 
    var firstTime = d1.getTime(); 

    // render stuff 

    var second = d1.getTime(); 
    console.log("Renders took " + (second-firstTime)); 
} 
+0

如果您使用Firefox进行调试,则它内置了定时器http://getfirebug.com/wiki/index.php/Console_API#console.time.28name.29,因此无需编码它。 :) – epascarello 2010-09-14 05:01:49

回答

5

嗯,我得到了这个问题:在谷歌一点点搜索后,我意识到,我必须使用第二次约会对象为第二个变量,所以这里是一个固定的版本:

function gameRender() { 
    var d1 = new Date(); 
    var firstTime = d1.getTime(); 

    // render stuff 

    var d2 = new Date(); 
    var second = d2.getTime(); 
    console.log("Renders took " + (second-firstTime)); 
} 
+0

如果您不使用Date对象进行其他操作,也可以使用“new Date()。getTime()”。 – Turnor 2010-09-13 22:08:40

+0

@Turnor:你也不需要'getTime'。当对这些对象进行操作(如加法或减法)时,将调用'valueOf'方法。 Date对象的'valueOf'方法返回与'getTime'相同的值。 – 2010-09-13 22:18:03

相关问题