由于传统图像编码过程会存在耗时,进而导致在加载图像过程中出现延迟和卡顿。为了降低编码耗时、提升用户体验,veImageX 目前已支持编码降级处理能力。当输出格式为 HEIC(静图)、AVIF、VVIC 时,您可在控制台参考图片处理模板选择合适的降级格式。
降级场景
以下场景可能存在编码降级。
- 编码限制
width_height_min
HEIC 静图无法编码为长宽为 1
的静图,当图片 width < 2 || height < 2
时降级为其他格式图片,为永久降级。 - 控制台没有打开
ALPHA 编码
选项,此时对于 alpah 静图会编码为白底的 HEIF 静图,为永久降级。 - 异步降级(async)。满足以下任一条件时会使用异步编码方式,降级为指定格式的图片,为临时降级,降级时间为秒级。
- 编码 HEIC 静图
- 国内:
- 编码后图片的长或宽 > 16000
- 编码耗时大于 5s
- 海外:
- 编码后图片的长 * 宽 > 1166400
- 编码耗时大于 5s
- 编码 VVIC 静图
- 编码后图片的长 * 宽 > 640000
- 编码耗时大于 1s
- 编码 AVIF 静图
- 编码后图片的长 * 宽 > 360000
- 编码耗时大于 600ms
- 编码失败(encodefail)降级。当远程编码服务请求出错时,降级为其他格式,降级时间为秒级。
- 限流(对业务限流时)降级。当请求编码量级超过一定阈值时,会降级为其他格式图片,降级时间为秒级。
- 特殊色彩空间下,检测存在色差时,为自动降级,降级方式为永久降级;检测图片包含 icc-data 时,为自动降级,以规避特殊场景下 Android 端图片花屏问题。
- 当动图编码时间超过 1.5 秒时,源站会进行降级处理,直接返回原图给用户,同时将原图缓存到 CDN 上,缓存时间为分钟级。如果用户再次请求时源站已经完成了动图编码,就会直接返回编码后的动图。