ESP32-S3 屏幕显示图片格式对显示速度的影响 png rgb565
ESP32-S3 屏幕显示图片格式对显示速度的影响 png rgb565针对 CardputerESP32-S3 SPI RGB565 屏固件中的图标绘制。相对耗时为经验量级非精确 benchmark同尺寸对比以RGB565 已在 RAM、pushImage为1×。1. 结论先看同尺寸下常见路径大致是RGB565 直推 ≫ ARGB8888 Alpha 混合 ≫ 每次现场解 PNG优先级做法适用要最快预生成RGB565透明烤进黑底→pushImage底色固定为黑的 UI 图标要透明叠任意底预生成ARGB8888→pushAlphaImage需要半透明/抗锯齿叠在多变底色上要省 Flash、改图方便保留PNG首次解码后RAM 缓存数量少、可接受首次卡顿不推荐反复每次drawPngFile列表翻页、按键闪烁等高频重绘面板最终都是RGB565ARGB8888 / PNG 都会在上屏前变成 16-bit。2. 各路径实际在做什么2.1 PNGdrawPngFileLittleFS 读文件 → zlib 解压 → PNG filter 还原 → 颜色/透明处理 → 写屏慢主要慢在CPU 解码zlib filter不是 30×30 像素本身。有 Alpha 时由 M5GFX/LovyanGFX 做混合画质通常最好、也最省 Flash。每次重绘都走全流程就会明显卡空调模式切换、米家列表等。2.2 预生成 RGB565.rgb565LittleFS 读原始像素 → pushImage直接写屏无 zlib、无 Alpha 混合Flash / SPI 约为 ARGB 的一半。不支持透明通道透明区需提前合成到固定底色本项目 UI 多为黑底。手写转换若处理 Alpha/抗锯齿不当观感会明显差于库解码 PNG应用「与屏上一致」的像素例如库解码后再落盘画质才可靠。2.3 预生成 ARGB8888.argb8888LittleFS 读原始像素 → pushAlphaImage读底色 混合 写回跳过 zlib保留完整 Alpha。字节序需与lgfx::argb8888_t一致B, G, R, A见scripts/png_to_rgba8888.py。比 RGB565 慢主要因为逐像素 Alpha其次是 4 字节/像素的读写量。2.4 PNG 解码一次 RAM 缓存首次drawPngFile → readRect 存 RGB565 之后pushImage画质对齐库解码重绘接近 RGB565 直推。占 RAM宽 × 高 × 2 × 槽位数空调 8 张 30×30 ≈ 14 KB。3. 相对耗时同分辨率路径相对耗时说明RGB565 已在 RAM →pushImage1×最快RGB565 从 Flash →pushImage约 1.5–3×多 FS 读ARGB8888 已在 RAM →pushAlphaImage约 3–6×Alpha 混合ARGB8888 从 Flash →pushAlphaImage约 4–8×FS AlphaPNG 每次drawPngFile约 10–40×zlib 解码波动大绝对量级体感参考30×30路径大约RGB565pushImageRAM 1 msARGB8888pushAlphaImageRAM约 2–5 msPNG 现场解码约 10–30 ms70×70大约再乘5–6 倍按面积。若整页还有清屏、大量文字、布局计算图标优化后「体感不明显」是正常的——瓶颈可能不在图标。4. Flash / RAM 占用同图公式无压缩原始像素RGB565宽 × 高 × 2ARGB8888宽 × 高 × 4PNG视压缩而定通常远小于原始像素尺寸RGB565ARGB888825×25≈ 1.25 KB≈ 2.5 KB30×30≈ 1.8 KB≈ 3.6 KB60×60≈ 7.2 KB≈ 14.4 KB70×70≈ 9.8 KB≈ 19.6 KB本仓库 LittleFS 分区约1.5 MBdefault_8MB.csv的 spiffs。设备图标全套 ARGB 约数百 KB 量级空间一般够用若同时保留 PNG ARGB体积会叠加上去。RAM 策略少量固定图标如空调 8 张可常驻缓存。大量设备图标用暂存缓冲按需从 Flash 读不全量常驻避免上百 KB数 MB RAM。5. 本项目现状实现要点资源格式优先绘制入口空调模式/icon/ir/.argb8888回退 PNGsrc/app_ir.cpp可带槽位缓存设备图标/icon/device/.argb8888回退 PNGsrc/app_device_icons.cppscratch 按需加载Logo/logo_60.argb8888回退 PNGdrawAppLogo60Icons 应用中的设备图同上走drawDevicePngNativesrc/app_icon_demo.cpp箭头 / WiFi / 电池等矢量代码绘制src/app_icons.cpp无图片文件转换脚本python scripts/png_to_rgba8888.py data/icon/ir python scripts/png_to_rgba8888.py data/icon/device data/logo_60.png data/logo_50.png另有历史脚本scripts/png_to_rgb565.py透明合成到黑底若改回 RGB565 路线需保证转换质量后再替换绘制路径。网页配置预览仍使用PNG浏览器友好固件绘制优先原始像素文件。6. 选型建议黑底 UI、要极致刷新RGB565 预生成 pushImage必要时 RAM 缓存当前页。要透明/抗锯齿、底色可能不纯黑ARGB8888 pushAlphaImage。图很少、想少维护资源PNG 首次解码缓存即可。列表里很多张大图优先减小尺寸如_25w 原始像素再考虑页级缓存而不是全库常驻。7. 相关 APIM5GFX / LovyanGFXAPI用途drawPngFile(FS, path, ...)从文件系统解码 PNGpushImage(x, y, w, h, rgb565*)推送 RGB565无 AlphapushAlphaImage(x, y, w, h, argb8888*)推送带 Alpha 的 32bpp 并混合readRect(...)读回屏上像素便于「解码一次再缓存」

相关新闻

FFmpeg视频处理实战:从格式转换到批量处理的完整技术指南

FFmpeg视频处理实战:从格式转换到批量处理的完整技术指南

如果你是一名程序员或技术创作者,看到"电影展"和"预告片"这样的标题,可能会觉得这与技术博客毫不相关。但请稍等——这篇文章要讨论的,其实是一个在技术领域日益重要的话题: 如何用技术手段高效处理和分析视…

2026/7/25 7:28:28 阅读更多 →
汽车性能测试全流程:从新车基线到猎芯调校的技术解析

汽车性能测试全流程:从新车基线到猎芯调校的技术解析

在汽车性能测试领域,新车测试和猎芯测试是两种常见的评估方式,它们分别关注车辆出厂状态下的基础性能和经过特定调校后的极限表现。飞火通天单刷42.8秒和毒药猎芯榛名山49.7秒这两个成绩,通常出现在赛道计时或特定路段的性能对比中&#xff0…

2026/7/26 1:22:05 阅读更多 →
审计数据安全合规怎么落地?中注协准则、数据安全法、等保三级与留存期对比

审计数据安全合规怎么落地?中注协准则、数据安全法、等保三级与留存期对比

背景:审计数据合规不是"加个锁"就完事 会计师事务所手里是客户高度敏感的数据:财务、税务、流水、合同。近年监管对数据安全、个人信息保护、底稿留存的要求持续加码。把合规当成"技术部门的事"会出事——它是执业风险的一部分。 本…

2026/7/23 11:33:17 阅读更多 →

最新新闻

如何快速打造个性化AI桌面宠物:开源框架DyberPet完整指南

如何快速打造个性化AI桌面宠物:开源框架DyberPet完整指南

如何快速打造个性化AI桌面宠物:开源框架DyberPet完整指南 【免费下载链接】DyberPet Desktop Cyber Pet Framework based on PySide6 项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet 厌倦了单调的电脑桌面?想要一个能陪伴工作学习、…

2026/7/26 1:23:03 阅读更多 →
医疗系统集成UEditor与OCR实现高效病历录入

医疗系统集成UEditor与OCR实现高效病历录入

1. 医疗系统集成UEditor截图OCR识别的必要性在医疗信息化系统中,医生工作站、电子病历等模块经常需要处理大量影像资料。传统的手动录入方式效率低下,而直接复制粘贴又无法提取图片中的关键信息。UEditor作为国内广泛使用的富文本编辑器,其截…

2026/7/26 1:23:03 阅读更多 →
Unity卡牌游戏UI框架设计:MVC与事件驱动架构实战

Unity卡牌游戏UI框架设计:MVC与事件驱动架构实战

1. 项目概述:为什么需要一个专业的卡牌UI框架?如果你正在开发一款卡牌游戏,无论是集换式卡牌、策略卡牌还是RPG卡牌,你大概率会遇到一个共同的痛点:UI界面越做越乱。初期,你可能只是简单地拖几个按钮和图片…

2026/7/26 1:23:03 阅读更多 →
工业视觉检测系统:AI质检在制造业的应用与突破

工业视觉检测系统:AI质检在制造业的应用与突破

1. 项目背景与行业痛点鲁威制造作为典型的传统工业企业,在产品质量检测环节长期面临人工目检效率低、漏检率高的问题。传统质检方式存在三个致命短板:人力成本持续攀升:每条产线需要配置6-8名质检员三班倒,年人力成本超过200万元检…

2026/7/26 1:23:03 阅读更多 →
基于YOLOv5的双向人流计数系统设计与优化

基于YOLOv5的双向人流计数系统设计与优化

1. 项目背景与核心价值在零售门店、公共交通枢纽、展览场馆等场景中,准确统计人员进出流量是运营管理的基础需求。传统红外对射或闸机计数方式存在安装复杂、易受干扰、无法区分进出方向等问题。我们团队基于YOLOv系列算法开发的这套双向计数系统,通过普…

2026/7/26 1:23:03 阅读更多 →
Obsidian笔记导出神器:如何让知识库在不同平台间自由迁移?

Obsidian笔记导出神器:如何让知识库在不同平台间自由迁移?

Obsidian笔记导出神器:如何让知识库在不同平台间自由迁移? 【免费下载链接】obsidian-export Rust library and CLI to export an Obsidian vault to regular Markdown 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-export 你是否曾经遇…

2026/7/26 1:22:03 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻