【发布时间】:2014-05-17 13:39:07
【问题描述】:
说明
~~~~~~~~~~~
我有大约 100 个文件,代表大约 450 个月来加载游戏。我没有解析任何东西,只是加载原始数据(ByteArray)。
问题
~~~~~~~
在使用 File 的桌面上,加载所有资源需要 46 秒。
我认为 100 文件访问可能是问题的原因。 所以我尝试使用一个独特的存档,并使用 Fzip 解压缩它,这样可以减少 100 个文件访问。加载整个档案需要 61 秒,多 15 秒。 (正常解压需要4.7秒,不知道FZIP需要多少时间和资源,我还没查源码)
在配备 SSD 硬盘的桌面环境中,我发现这段时间出奇的长。你可以想象它在移动设备上慢了 10 倍,这对用户体验来说是一个真正的问题。
问题:
~~~~~~~~~
Flash 是否有某种磁盘访问速度限制?
有什么办法可以解决我的问题吗?
【问题讨论】:
-
您是在异步加载这些文件吗?加载程序还是文件?
-
出于好奇,您能否使用 7zip 或类似软件解压缩桌面上的所有文件,并告诉我们需要多少时间?它可能比您的应用程序更快,但值得知道它可以完成的绝对最快速度是多少。例如,如果它需要 15 秒,那么您可能无能为力来缩短所需时间。
-
@JoshJanusch 就像我在原帖中所说:“正常减压需要 4.7 秒”
-
@AndreyPopov 同步,我正在使用 File。
-
使用
getTimer()跟踪打开、读取和关闭文件所需的时间(分别针对每个操作)。我认为这与溢出或某事有关,特别是如果您继续引用它们。这样您就可以知道哪种操作成本最高。如果你确定减压需要更少的时间,那么阅读可能会更多..
标签: actionscript-3 flash disk-access