Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每秒25次保存到浏览器localstorage可以吗?_Javascript_Performance_Ember.js_Local Storage - Fatal编程技术网

Javascript 每秒25次保存到浏览器localstorage可以吗?

Javascript 每秒25次保存到浏览器localstorage可以吗?,javascript,performance,ember.js,local-storage,Javascript,Performance,Ember.js,Local Storage,我认为这个标题很有描述性。我正在使用Ember.js进行一个空闲的游戏项目,目前我正在以每秒25次的速度保存到本地存储,而不是每10秒或20秒保存一次。这是一个非常小的数据量,我没有遇到任何性能问题(至少在我的机器上),但我想知道这是否是坏的,如果是,有多坏。谢谢:)有两件事: 1)每个浏览器支持不同的获取时间间隔或设置本地存储值 如果在一段时间内执行的次数过多,浏览器可能会挂起并失去响应 为了获得最佳性能,您应该保存到局部变量,然后定期将其保存到localstorage 以下是浏览器的列表及其

我认为这个标题很有描述性。我正在使用Ember.js进行一个空闲的游戏项目,目前我正在以每秒25次的速度保存到本地存储,而不是每10秒或20秒保存一次。这是一个非常小的数据量,我没有遇到任何性能问题(至少在我的机器上),但我想知道这是否是坏的,如果是,有多坏。谢谢:)

有两件事:

1)每个浏览器支持不同的
获取时间间隔
设置
本地存储

如果在一段时间内执行的次数过多,浏览器可能会挂起并失去响应

为了获得最佳性能,您应该保存到局部变量,然后定期将其保存到
localstorage

以下是浏览器的列表及其首次读取或写入所花费的时间:

  • 在Chrome上,第一次读取需要1毫秒,后续读取需要0毫秒
  • 在Firefox上,第一次读取大约需要0.5毫秒,后续读取大约需要0.1毫秒
  • 在Internet Explorer 9上,所有读取都需要0毫秒。我不确定Internet Explorer是如何加载这些数据的,但它似乎与其他浏览器不一样

  • 在Opera上,第一次读取需要1毫秒,后续读取需要0毫秒

  • 对于iOS 6上的Safari,第一次读取需要24毫秒,后续读取需要0毫秒
2)这还取决于您正在获取/设置的值的大小

记住

-
本地存储
每个域和浏览器的容量有限

-并避免在加载页面时使用
localstorage

我的意见是:如果您不想在用户玩游戏时刷新您的游戏,请给
localstorage
最大的时间


并计算用户玩游戏时使用的最大数据量,并设置写入
localstorage

的时间。您可以运行一些负载测试,查看失败的地方以及您离它有多近-查看故障前每秒可保存的数据量,查看故障前每秒可保存的数据量,-查看故障前每秒可保存25次的数据量您可以尝试多个浏览器,并通过创建虚拟机(以及获取Windows测试环境)使用不同的硬件配置,以便更好地了解其在不同类型系统上的性能。为什么要以25fps的速度保存,即使没有“性能”问题?我知道大小限制,但在每个浏览器中的特定时间保存这些数据确实很好。我认为每10秒或20秒保存一次是个更好的主意。谢谢