Javascript效率:新的局部变量vs全局vs属性

时间:2012-06-28 17:57:25

标签: javascript browser processor

我正在制作相当重的画布效果,需要从用户系统中挤出一点速度。

这是一个场景:

function ImCalledEveryMouseMove(blah,blah)
{
    var imgData = myctx.getImageData(0,0,canvas.width,canvas.height)
    var somevar1 = (some maths process);
    var somevar2 = (some maths process);
    var somevar3 = (some maths process);
    var somevar4 = (some maths process);
    var somevar5 = (some maths process);
    for(every pixel channel etc){do some stuff...
    // and so on
}

每个变量都是在函数范围内重新创建的。

我的问题是:

最有效的方法是降低开销吗?

也许:

var imgData,somevar1,somevar2,somevar3... an so on
function ImCalledEveryMouseMove(blah,blah)
{
    imgData = myctx.getImageData(0,0,canvas.width,canvas.height)
    somevar1 = (some maths process);
    somevar2 = (some maths process);

因为没有新的内存分配?

或者也许:

var cache = {};
function ImCalledEveryMouseMove(blah,blah)
{
    cache.imgData = myctx.getImageData(0,0,canvas.width,canvas.height)
    cache.somevar1 = (some maths process);
    cache.somevar2 = (some maths process);

不知道为什么,但我读到了一些关于这是有利的,因为动态记忆某事或其他但不记得为什么......

有人可以提出建议吗?

0 个答案:

没有答案