使用 chromium 跟踪面板进行性能分析时,我发现很多图像大小调整,尤其是在滚动时。
我已经从前端删除了所有(我认为)图像大小调整,并出于测试目的简化了 dom,此时大部分只是静态图像元素。
我有几个理论:
- 所有图像在内部调整大小/重新采样
- 查看 chromium 源代码,我发现一切都在调用“NativeImageSkia::resizedBitmap”的证据
- 使用视网膜显示 mac 会导致图像被采样
- 这是通过在示踪剂中看到 4 倍于 src_pixels 的“dst_pixels”大小来支持的
有人可以证实或否认上述任何一项吗?
还有:
是否可以追踪正在调整大小的图像?
最佳答案
在与 google 的一些人合作后,我确定这实际上是一个 webkit 错误,与处理视网膜 macbook pro 上的高 PPI 显示器有关。
您可以在非视网膜显示器(同一台 Mac,外接显示器)上看到只有“图像解码”事件。相同的内容,相同的 mac,在视网膜显示器上呈现,您可以看到同时存在“图像解码”和“图像调整大小”事件。
使用 24 和 25.0.1329.0 测试
此外,目前无法从 chrome 的运行时检测中找出正在调整大小的图像。
关于javascript - webkit 对图像调整大小的性能分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13397985/