打印大图像的次数更少,还是打印小图像的次数更多,效率更高吗?

Is it more efficient to print a large image less times, or a small image more times?

假设我想多次打印一个图像,并且是成组的。所以期望的结果将是这样的:

:) :) :)
  text
:) :) :)
  more text
:) :) :)

从较小的图像创建一个像 :) :) :) 这样的大图像更有效,还是只打印较小的图像 :) 一段时间?

这是一个 Rails 应用程序。小图3kB左右,大图12kB左右

在这种情况下,较小的图像有一些优势:

  • 更少的带宽和网络时间。
  • 较小的图像可以保留在内存缓存中或从磁盘中检索。

客户可能会完成稍微艰苦的工作,但大多数时候这是无法估量的。您通常希望避免在服务器上工作,因为您可能每分钟都有大量请求。

总之,我不会为此太担心。最后一个 Jquery 库是 240KB。客户端将因执行 javascript 而承受更多负载。

大图才是正确的做法。
重要的是单个图像只有一个往返 http 请求
,而三个图像将有三个。

在一项测试中,3 张图像花费了 2.68 倍或 268% 以上的 加载时间。

在这个页面加载瀑布中,我有 3 张图片,每张约 3K。

这是一张 12K 图片。

橙色是浏览器连接服务器的时间。
绿色是服务器将图像放入输出缓冲区的等待时间。
蓝色是服务器传输给浏览器的时间。

3K图像只有一条非常细的蓝线,3毫秒。

三个3K图像倍数
430 毫秒总加载时间

connect 65 mS
wait    72 mS
transmit 3 mS
Transfer 3515 bytes @ 878,750 Bytes/sec.

connect 64 mS
wait    71 mS
transmit 3 mS
Transfer 3515 bytes @ 878,750 Bytes/sec.

connect 76 mS
wait    73 mS
transmit 3 mS
Transfer 3123 bytes @ 780,750 Bytes/sec.

12K图像
160 毫秒总加载时间

connect 69 mS
wait    74 mS
receive 17 mS
Transfer 11982 bytes @ 665,667 Bytes/sec.

430 / 160 = 2.68 * 100 = 268%