localStorage可以在经常使用时减慢我的网站速度吗?

我正在开发一个HTML5游戏,我需要知道是否经常更新localStorage属性会降低页面的速度。

实际上,我将英雄的位置存储在四个localStorage属性中(两个用于实际位置,两个用于碰撞检测系统中的过去位置)并每隔1秒更新一次, 但我希望以60fps更新以保存每一个英雄运动。

在该频率使用localStorage会导致性能问题?


本地存储将数据存储在用户硬盘上。 读取和写入硬盘需要比RAM更长的时间。

结论是,您可以通过在启动时从本地存储读取来优化性能,并且只有在用户注销时才写入。

现在,无论优化是否会显着影响您的项目,您都必须弄清楚,正如R3tep所说,http://jsperf.com/是一个很好的解决方案。

不过,我的建议是,只需要进行优化,只是因为它不太“令人满意”,我猜想让程序运行速度比没有充分理由的速度慢。


将数据保存到对象{}并将其保存到locatlStorage然后使用I / O不活动或当用户离开时( onunload事件):

var DATA = {},
    syncTimer;

function syncFunction () {
    localStorage.set('myData',JSON.stringify(DATA));
}


function someHandler() {
    // some handler that change your DATA
    // which can be called many times per second

    //if calling many times, data will not sync
    if (syncTimer) {
        clearTimeout(syncTimer);
    }

    //change data
    DATA.somefield = 'some data';

    //set timer if data not changed - save it
    syncTimer = setTimeout(syncFunction, 100)
}

window.onunload = syncFunction;

PS测试保存到var并保存到存储。 存储同步更加昂贵。

链接地址: http://www.djcxy.com/p/79127.html

上一篇: Can localStorage slow down my website when used frequently?

下一篇: cleared stash and recovered it