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/8/26 13:41:06 阅读更多 →
汽车性能测试全流程:从新车基线到猎芯调校的技术解析

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

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

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

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

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

2026/8/19 6:21:36 阅读更多 →

最新新闻

百度网盘Mac版提速破解指南:实测快70倍

百度网盘Mac版提速破解指南:实测快70倍

百度网盘Mac版提速破解指南:实测快70倍 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 装好 BaiduNetdiskPlugin-macOS 这个百度网盘Mac版限…

2026/8/27 2:59:22 阅读更多 →
GitHub每日热评|Modular(Mojo+MAX)源码深度评测|静态AST工程尽调报告(2026最新开源快照)

GitHub每日热评|Modular(Mojo+MAX)源码深度评测|静态AST工程尽调报告(2026最新开源快照)

GitHub每日热评|Modular(MojoMAX)源码深度评测|静态AST工程尽调报告(2026最新开源快照)作者:Valhalla Matrix治理实验室 评测快照:1245611c0c6320f30e6459ce70d1fc7b668c026f 评测方式:证据驱动…

2026/8/27 2:59:22 阅读更多 →
Dism++免费清理C盘:空间、更新、备份一次理顺

Dism++免费清理C盘:空间、更新、备份一次理顺

Dism免费清理C盘:空间、更新、备份一次理顺 【免费下载链接】Dism-Multi-language Dism Multi-language Support & BUG Report 项目地址: https://gitcode.com/gh_mirrors/di/Dism-Multi-language 下午三点,Windows 更新第四次弹窗报"安…

2026/8/27 2:59:22 阅读更多 →
VideoDownloadHelper 网页视频下载扩展使用教程:免费开源,一次扫描存下视频

VideoDownloadHelper 网页视频下载扩展使用教程:免费开源,一次扫描存下视频

VideoDownloadHelper 网页视频下载扩展使用教程:免费开源,一次扫描存下视频 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper…

2026/8/27 2:59:22 阅读更多 →
还在一首一首转NCM?ncmdumpGUI免费一键搞定NCM格式转换

还在一首一首转NCM?ncmdumpGUI免费一键搞定NCM格式转换

还在一首一首转NCM?ncmdumpGUI免费一键搞定NCM格式转换 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 晚上,你拷了一整包音乐进 U 盘&…

2026/8/27 2:59:22 阅读更多 →
Live Server 完全指南:VSCode 中 3 分钟搭起带实时刷新的本地开发服务器

Live Server 完全指南:VSCode 中 3 分钟搭起带实时刷新的本地开发服务器

Live Server 完全指南:VSCode 中 3 分钟搭起带实时刷新的本地开发服务器 【免费下载链接】vscode-live-server Launch a development local Server with live reload feature for static & dynamic pages. 项目地址: https://gitcode.com/gh_mirrors/vs/vscode-live-serv…

2026/8/27 2:58:22 阅读更多 →

日新闻

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

Go语言构建企业级AI服务网关:统一管理英伟达等AI接口调用

1. 项目概述:从零构建一个企业级的AI服务网关 最近在帮一个做内容审核的团队做技术架构升级,他们原来的业务里,每天有几十万张图片和短视频需要过审,最初是接了几个开源的AI模型自己部署,但效果和性能一直不太稳定。后…

2026/8/27 0:00:51 阅读更多 →
网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址

网盘直链下载助手5分钟解析八大网盘真实地址 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘 / 迅雷云盘 / 夸…

2026/8/27 1:06:27 阅读更多 →
从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南

从零点亮 ESP32:Arduino ESP32 开发环境搭建与首次烧录完整指南 【免费下载链接】arduino-esp32 Arduino core for the ESP32 family of SoCs 项目地址: https://gitcode.com/GitHub_Trending/ar/arduino-esp32 Arduino ESP32 是乐鑫官方的 ESP32 系列 Ardui…

2026/8/27 1:06:27 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/26 14:45:33 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/26 17:46:43 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/26 14:46:37 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/26 3:50:20 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/26 17:46:39 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/26 1:24:05 阅读更多 →