0

我觉得这是一个愚蠢的问题,因为我很确定 spritesheet 为整个工作表使用了内存,但我只是想 100% 确定并且在任何地方都找不到答案。对于一个 html 项目,我想变得“聪明”并尽可能少地发出 http 请求,所以我创建了一个 2048x2048 的图像,只有大约 150x150 没有被使用,这实际上很棒,因为它可以让我在未来,如果我需要。

问题是,在购买和配置服务器后,我担心如果很多人同时连接,服务器会为更大的 spritesheet 使用更多内存?在任何给定时间,我只使用精灵表中 10% 的图像,当它们发生变化时,之前的图像会被替换。所以我做一个大文件是不是很愚蠢,它只会无缘无故地使用额外的内存吗?这里的经验法则是,对始终加载的图像使用大精灵表,然后将其余部分拆分为仅在特定时间使用的较小精灵表吗?

4

1 回答 1

1

要回答您的问题,是的,整个工作表已加载到内存中。

然而,只有一次。

每个 CSS 只显示精灵的一小部分。

理论上:当你从一个页面移动到另一个页面时,一个大图像已经在缓存中并且不再从服务器请求。使下一页加载速度更快。

缓存v/s 请求数量v/s 图像的组合大小将成为更完整的答案,还有更多内容。

于 2013-08-24T18:49:22.940 回答