esp单片机下arduino_gfx不相干显示驱动优化对flash空间的占用对比

一般情况下,很多esp32或者esp8266下的tft模块驱动都会包含很多种,而我们只需要其中一种,那就有个疑问这些被编译进的显示驱动到底占用了多少空间,是否需要把他优化掉?

这是默认的驱动列表:

84个文件,430k

 

这是优化后的驱动列表,只保留了两种驱动

6个文件,81.6k

优化前编译占用

esp8266

RAM:   [====      ]  44.6% (used 36540 bytes from 81920 bytes)
Flash: [===       ]  33.9% (used 353793 bytes from 1044464 bytes)

esp32

RAM:   [=         ]   6.7% (used 21972 bytes from 327680 bytes)
Flash: [===       ]  31.0% (used 406525 bytes from 1310720 bytes)

优化后编译占用

esp8266

RAM:   [====      ]  44.6% (used 36504 bytes from 81920 bytes)
Flash: [===       ]  33.8% (used 353277 bytes from 1044464 bytes)

 esp32

RAM:   [=         ]   6.7% (used 21964 bytes from 327680 bytes)
Flash: [===       ]  30.3% (used 397645 bytes from 1310720 bytes) 

这肯定是有相差的,但是这种相差基本可以忽略。

基于这个驱动还做了不相干开发板的各种清除,结果一样,大概也都是只优化了0.1%,所以最后的结论是:

这些不相干的驱动并不会占用太多的flash空间,完全可以忽略不计。

做这个的比对起因是编译器每次都把不相干的驱动编译一次占用了大量的编译时间,有可能是有编译没有包含;虽然这个比对是基于arduino_gfx的,但是tft_espi理论上是同样的。

补充说明:

把驱动从arduino_gfx切换为tft_espi后占用对比:

arduino_gfx:

esp8266

RAM:   [====      ]  44.6% (used 36504 bytes from 81920 bytes)
Flash: [===       ]  33.8% (used 353277 bytes from 1044464 bytes)

esp32

RAM:   [=         ]   6.7% (used 21964 bytes from 327680 bytes)
Flash: [===       ]  30.2% (used 395717 bytes from 1310720 bytes)

tft_espi:

esp8266

RAM:   [====      ]  36.4% (used 29844 bytes from 81920 bytes)
Flash: [====      ]  36.3% (used 379501 bytes from 1044464 bytes)

esp32

RAM:   [=         ]   6.8% (used 22284 bytes from 327680 bytes)
Flash: [===       ]  30.0% (used 392929 bytes from 1310720 bytes)

 

在esp8266下,tft_espi的RAM占用要优于arduino_gfx,但是磁盘占用要稍微多一点,在esp32下两者相差不大

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/578790.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:list类

list的介绍 1. list 是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代 2. list 的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。 3. list 与 …

#include<初见c语言之指针总结>

第一小节: #include<初见C语言之指针(1)>-CSDN博客 #add<初见C语言之指针(1)>-CSDN博客 第二小节: #include<初见c语言之指针…

Lua热更新(Lua)

-- [[]] print 下载Lua For Windows Sublime Text(仅用于演示,实际项目使用VsCode) CtrlB运行 语法基础 基础类型:nil number string boolean 运算符:and-or-not ~ ^ if-then-end-elseif-else while-do-…

Spring Boot简介及案例

文章目录 Spring Boot简介以下是一个简单的 Spring Boot Web 应用实例**步骤 1:创建 Spring Boot 项目****步骤 2:编写 RESTful 控制器****步骤 3:配置主类****步骤 4:运行并测试应用** Spring Boot简介 Spring Boot 是一个用于简…

nginx界面管理工具之nginxWebUI 搭建与使用

nginx界面管理工具之nginxWebUI 搭建与使用 一、nginxWebUI 1.nginx网页配置工具 官网地址: http://www.nginxwebui.cn 源码地址:https://git.chihiro.org.cn/chihiro/nginxWebUI 2.功能说明 本项目可以使用WebUI配置nginx的各项功能, 包括http协议转发, tcp协议…

Android 12.0 mtp模式下连接pc后显示的文件夹禁止删除copy重命名功能实现

1.前言 在12.0的系统rom定制化开发中,usb连接pc端的时候有好几种模式,在做otg连接pc端的时候,改成mtp模式的时候,在pc端可以看到产品设备 的显示的文件夹的内容,对于产品设备里面的文件在pc端禁止做删除重命名拷贝等操作功能的实现 2.mtp模式下连接pc后显示的文件夹禁止删…

服务器被CC攻击之后怎么办?

1.取消域名绑定取消域名绑定后Web服务器的CPU能够马上恢复正常状态,通过IP进行访问连接一切正常。但是不足之处也很明显,取消或者更改域名对于别人的访问带来了不变,另外,对于针对IP的CC攻击它是无效的,就算更换域名攻…

Xinstall广告效果监测,为您的App推广保驾护航

在当前的移动互联网时代,App已经成为企业与用户连接的重要桥梁。然而,App推广过程中,如何准确衡量广告效果、洞悉推广效果以及优化用户体验,一直是广告主和开发者面临的挑战。这时,一款强大而专业的App全渠道统计服务商…

ZYNQ学习之Ubuntu下Linux文件系统与用户权限

基本都是摘抄正点原子的文章&#xff1a;<领航者 ZYNQ 之嵌入式Linux 开发指南 V3.2.pdf&#xff0c;因初次学习&#xff0c;仅作学习摘录之用&#xff0c;有不懂之处后续会继续更新~ 一、Linux 文件系统 1.1 Linux 文件系统简介以及类型 操作系统的基本功能之一就是文件管…

火狐浏览器垂直标签页对比 Sidebery vs Tab Center Reborn

Sidebery 链接 商店 评价 大而全&#xff0c;各种功能&#xff0c;以及相关的配置项&#xff0c;应有尽有&#xff1b;功能包括但不限于&#xff1a; 树形标签页、着色、面板、容器、快照最近关闭、标签页、历史 默认的配置就已经很好用了&#xff1b; 快捷键&#xff1a;F…

View事件分发

MotionEvent 1.简介 MotionEvent 是Android系统中一个非常重要的类&#xff0c;它代表了屏幕上发生的触摸事件。当用户在屏幕上触摸、滑动或者长按时&#xff0c;都会生成一个MotionEvent对象&#xff0c;这个对象包含了触摸动作的各种信息。 2.事件类型 ACTION_DOWN&#x…

金融案例:构建高效统一的需求登记与管理方案

在金融行业数字化转型背景下&#xff0c;银行等金融机构面临着业务模式创新与数据应用的深度融合。业务上所需要的不再是单纯的数据&#xff0c;而是数据背后映射的业务趋势洞察&#xff0c;只有和业务相结合转化为业务度量指标&#xff0c;经过数据分析处理呈现为报表进行展示…