在这一点上,我对这个问题的兴趣主要是理论上的。
我想在本地存储图像(用于 webgl 纹理),例如我已经用来存储网格的 indexedDB。
这可能吗?如果是这样,那怎么办?这是个好主意吗?
在这一点上,我对这个问题的兴趣主要是理论上的。
我想在本地存储图像(用于 webgl 纹理),例如我已经用来存储网格的 indexedDB。
这可能吗?如果是这样,那怎么办?这是个好主意吗?
您应该能够通过转换或将其作为 base64 图像将图像存储在 indexedDb 中。
请记住,每个站点的数据库只有 5Mb 的限制,除非您在 Manifest 中指定了无限制但它需要用户授权。
您当然可以使用 indexedDB 来存储纹理。您需要存储宽度和高度,无论是否具有 alpha 通道和 RGB(A) 值数组。然后,您可以直接从中创建纹理,如该问题的答案所示。
至于这是一个好主意,这是一个更棘手的问题。你为什么要这么做?速度?资源访问的统一性?indexedDB 存储通常存在一些限制,这会使存储大量资源变得困难,坦率地说,从图像加载可能会更快,因为浏览器开发人员会优化该路径。此外,数据库中的图像实际上比等效的 JPEG 或 PNG 更大,因为您可能希望将其存储为未压缩。值得进行基准测试,但我怀疑这里的性能胜利方式有很多。