当前位置: 首页 > news >正文

块压缩与图片压缩优缺点对比

块压缩与图片压缩优缺点对比

块压缩(Block Compression)

✅ 优点

  1. 硬件加速支持

    • 直接被GPU读取,无需CPU解压
    • 显著降低内存带宽消耗(适合移动设备)
  2. 随机访问特性

    • 4×4/8×8像素块独立压缩
    • 支持直接定位读取特定纹理区域
  3. 固定压缩比

    • BC1: 6:1(无Alpha)
    • BC3: 4:1(含Alpha)
    • 便于内存预算控制
  4. 渲染管线友好

    • 原生支持Mipmaps
    • 完美适配纹理流式加载

❌ 缺点

  1. 视觉质量损失

    • 明显色带/块状伪影(低码率时)
    • 平均PSNR比JPEG低5-10dB
  2. 格式限制

    • ETC1不支持Alpha通道
    • 部分旧设备兼容性问题(如PVRTC仅iOS)
  3. 编辑不友好

    • 不能像JPEG那样渐进式保存质量
    • 重复压缩会导致质量阶梯式下降

传统图片压缩(JPEG/PNG/WebP)

✅ 优点

  1. 超高压缩率

    • JPEG:10:1~20:1(质量75%时)
    • WebP:比JPEG小25-35%
  2. 通用兼容性

    • 所有设备/浏览器原生支持
    • 不需要特殊硬件解码
  3. 编辑友好

    • 支持无损编辑(PNG)
    • 渐进式加载(JPEG/WebP)
  4. 视觉质量

    • 适合连续色调图像(照片)
    • 没有块状伪影(PNG)

❌ 缺点

  1. 性能代价,需CPU解压,不适合实时渲染

    • GPU无法直接读取JPEG/PNG,必须解压成RGB/RGBA,占用更多内存和带宽。
  2. 不支持随机访问

    • 必须完整解码整张图,无法像块压缩那样直接读取某个4×4块。
  3. 功能限制

    • JPEG不支持透明度
    • PNG压缩率不可控

技术指标对比

指标块压缩传统压缩
解码速度0.1-1ms(GPU)10-100ms(CPU)
内存占用压缩态解压后原始大小
典型压缩比4:1~8:110:1~20:1
是否支持Alpha部分格式PNG/WebP支持
适合场景实时渲染存储/传输

选型决策建议

  1. 必须用块压缩的场景

    • 所有3D游戏纹理
    • AR/VR应用贴图
    • 需要动态加载的UI图集
  2. 推荐传统压缩的场景

    • 应用商店截图
    • 网页内容图片
    • 非实时处理的素材存档
  3. 混合使用案例

    游戏《王者荣耀》资源策略:
    - 3D模型贴图:ASTC 6×6
    - UI背景图:ETC2+Alpha通道
    - 宣传海报:WebP 80%质量
    
http://www.xdnf.cn/news/106291.html

相关文章:

  • 高可靠性厚铜PCB生产的五大关键设备
  • leetcode刷题——判断对称二叉树(C语言版)
  • 知识链(Chain-of-Knowledge):通过对异构来源的动态知识适配实现大语言模型的知识落地
  • 数据通信学习笔记之OSPF的基础术语-距离矢量路由协议
  • 概率dp总结
  • 精准识别违规登录:Windows事件ID 4624全维度分析手册
  • 解决AWS中ELB的目标群组中出现不正常数
  • JAVA工程师面试题(一)
  • 在串的简单模式匹配中,当模式串位j与目标串位i比较时,两字符不相等,则i的位移方式是?
  • 快速生成安卓证书并打包生成安卓apk(保姆教程)
  • HCIP-OSPF综合实验
  • Linux网络编程 从集线器到交换机的网络通信全流程——基于Packet Tracer的深度实验
  • 第十篇:系统分析师第三遍——7、8章
  • Kubernetes服务自动注册Consul全攻略 - 基于consul-register的实践指南
  • vue3:十一、主页面布局(修改顶部导航栏样式-左侧,页面名称设置)
  • Vue3:大纲思路
  • 深入解析C++ STL Stack:后进先出的数据结构
  • Linux CAN 驱动浅析
  • YOLO11改进-Backbone-引入TransXNet替换YOLO backbone 学习全局和局部动态信息,提高检测精度
  • 面试经历(一)雪花算法
  • gem5 笔记01 gem5 基本应用流程
  • 【敏矽微ME32G030系列】介绍、环境搭建、工程测试
  • 2022 年 9 月青少年软编等考 C 语言六级真题解析
  • 基于PaddleOCR对图片中的excel进行识别并转换成word(一)
  • 第50讲:AI+农业金融与风险预测场景实战
  • 【QT】信号与槽中多个按钮(pushbutton)共用一个槽函数的两种实现方式
  • 解决 Spring Boot + MyBatis 项目迁移到 PostgreSQL 后的数据类型不匹配问题
  • 全面解析 classification_report:评估分类模型性能的利器
  • 模型 观测者效应
  • 11、认识redis的sentinel