html - 在什么时候请求图像文件比内联编码它的 base64 更快?
问题描述
我正在尝试提出指导方针或性能测试,以帮助我选择将哪些图像内联渲染为 base64 编码字符串,哪些图像应作为来自 cdn 或类似文件的文件请求。
确定请求时间和延迟渲染在衡量请求图像的性能方面相当简单,但我无法很好地了解使用 Chrome 控制台的内联图像的渲染时间。显然内联较小的图像并将较大的图像作为文件请求,但什么是一个好的截止点?
例如,如果图像大小为 2kb,并且将其作为文件请求需要 100 毫秒,我如何知道渲染同一图像的内联版本需要多长时间?
解决方案
渲染内联 base64 编码的字符串总是会更快。网络请求总是比解码 base64 字符串所需的 CPU 处理时间更长。您应该问自己的问题是关于何时下载字节的权衡:在 HTML 的有效负载中或稍后在单独的 HTTP 请求的有效负载中。添加到 HTML 中的内容越多,页面加载时间就越长。下载图像而不是内联图像的好处是,如果您不需要立即显示,您可以通过异步获取延迟它。
所以问问自己,是尽快显示图像更重要,还是让页面在没有图像的情况下更快地准备好使用更重要?CSS 中的内联也有同样的权衡讨论。
推荐阅读
- vue.js - 在 vue App 中使用 Axios GET 和 Authorization Header
- php - 无法从 ZF2 Twitter 用户搜索中获取派生属性
- python - 操作顺序 - Python 3
- node.js - 快递中的bodyparse文本数据
- winapi - 如何使用 sendmessage 发送在 win32 中具有 timer proc 的 wm_timer
- unity3d - 统一漏洞?排序组需要设置为 1 并设置回 0 以使透明度排序轴正常工作(内部视频)
- javascript - 如何“四舍五入”数字,通过在javascript中的第二个数字后放置零
- c# - 调试公共交通 / Rabbit MQ
- linux - 如何将文件从给定目录复制到目标目录的随机目录
- javascript - 如何在 php while loop JSON 中制作更高效的 js for 循环