gpt4 book ai didi

Emscripten:IDBFS 的 RAM 效率是否高于 MEMFS?

转载 作者:行者123 更新时间:2023-12-04 17:18:50 24 4
gpt4 key购买 nike

我正在使用 emcc --preload-file 命令为我的 WebAssembly 游戏打包数据,该命令将其放入 MEMFS 并保存在 RAM 中,直到网页关闭。

游戏通常会打开一个文件,读取它的内容,然后关闭它,并且再也不会触及该文件,它不使用 mmap

在首次启动时将所有游戏数据下载到 IndexedDB/Emscripten IDBFS 会更节省内存吗? Web 浏览器是否将整个 IndexedDB 加载到 RAM 中,它是否在 IDBFS 中的文件关闭后释放 RAM?

我的目标硬件是 iPhone XS 上的 Safari,内存为 2GB,游戏数据约为 60MB。

最佳答案

我相信接受的答案没有强调有关 Emscripten 的 IDBFS 的重要技术细节。

IDBFS 是 MEMFS 之上的附加层,具有通过 syncfs 调用添加的持久性功能。

所有文件系统内容都存在于内存中,并且可以选择在使用前从 IndexedDB 加载(通过调用 syncfs(true, ...))和/或在使用后保存到 IndexedDB 中(syncfs(false, ...)).

在当前的实现中,您无法通过使用 IDBFS 来阻止额外的内存使用。 IDBFS 就像一个 ramdisk,可以从/同步到持久存储。它不像直接挂载持久存储。

关于Emscripten:IDBFS 的 RAM 效率是否高于 MEMFS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67436377/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com