html - 在 ASP.NET 核心上将图像转换为 WebP
问题描述
每个人。我在我的页面 ( https://www.indievisible.net )上运行 Lighthouse Page Speed ,它说我应该以下一代格式提供图像,但我找不到一个好的库来为 ASP.NET Core 做到这一点。
我现在得到的只是导入 Magick.NET 并使用到目前为止没有任何好处的基本优化:
ImageOptimizer optimizer = new ImageOptimizer();
optimizer.LosslessCompress(ms);
有人知道用 Lighthouse 解决这个问题的好方法吗?
也许使用响应式图像而不是下一代格式?
谢谢你们!
解决方案
灯塔是谷歌。WebP 是谷歌。谷歌显然有点偏颇。WebP 通常确实具有较小的文件大小,但它并不总是很重要,而且这当然并不意味着您必须使用 WebP 所有的东西。另外需要注意的是,WebP 并没有被普遍支持,所以只有和元素结合起来才真正有意义picture
,所以你可以提供多种格式。该picture
元素也img
没有得到普遍支持,并且对于旧浏览器,它没有原生优雅降级,例如srcset
做。总而言之,虽然它可能会稍微提高您网站的性能,但取决于图像的重量,它绝不是一件容易实现的事情。应该有一个强有力的商业案例来走这条路。
另请注意,Lighthouse 建议就是:建议。并非所有这些对每个应用程序都有意义。它告诉您可以做的所有事情以使您的网站更快,但这并不意味着做每一件事都是有意义的。您需要权衡潜在收益与努力和必要性。如果您已经交付了一个相当轻量级的网站,并且只有少量图像,那么 WebP 不太可能值得您花时间。因此,您的未缓存页面权重将是 500KB 与 600KB。如果你不到 1 MB,那么你的状态仍然比大多数网站好得多,而且老实说,额外的 100KB 甚至不值得担心,尤其是在缓存的情况下。都是相对的。如果您正在构建下一个 Flickr,也许 WebP 是值得考虑的。
推荐阅读
- python - 如何在 QInputDialog 中更改默认文本以及 OK 和 Cancel 按钮的功能
- python - Python:为什么它向 Stackdriver 发送重复的日志?
- python-3.x - 如何在 python 中使用图像在另一个图像中识别它?
- openshift - Fluentd on kubernetes:根据容器名称分离容器日志并重新标记它们以发送到 ElasticSearch
- python - 如何在 S3 Paginator 中停止递归分页
- python - Seaborn pairplot:数据必须有方差才能计算核密度估计
- safari - 由于 Safari 弹出窗口阻止程序,插件认证被阻止
- javascript - 如何在 MySQL 数据库的多行中保存表单数据(表单内的表)
- python - 连接 x 和 y 后的聚类数据帧
- api - 颤振假支付API