glfw内存泄露测试
1. glfwInit() 和 glfwTerminate() 放在主线程
循环次数 1 内存 14M
循环次数100 46M
循环次数1000 49M
2. glfwInit() 和 glfwTerminate() 放在线程里 globalInit and globalRelease
循环次数 1 内存 13M
循环次数100 87M
循环次数1000 426M
3. glfwInit() 和 glfwTerminate() 放在线程里 但是只初始化一次 说明在openDLL的情况下不能只初始化一次!!!
循环次数 1 内存
循环次数100
循环次数1000
4. glfwInit() 和 glfwTerminate() 放在线程里 每次都初始化, createWindow打开
循环次数 1 内存 14M
循环次数100 内存 89M
循环次数1000 内存458M
5. 在上一步的基础上 把run打开
循环次数 1 内存 14M
循环次数100 内存 62M
循环次数1000 内存453M
6. 在上一步基础上 global 只初始化一次 注释 closeDll
循环次数 1 87 M
循环次数 2 崩溃 说明closeDll 后 数据都被破坏了 error:0X10001 : The GLFW library is not initialized
7. 在上一步基础上 global 初始化写在线程里, 且每次都初始化 不使用closeDll
循环次数 1 内存 17M
循环次数100 内存 65M
循环次数1000 内存436M
8. 在上一步基础上 global 写在外部 使用closeDll ------> 建议使用
循环次数 1 内存 15M
循环次数100 内存 54M
循环次数1000 内存 55M
9 transcoder 调用 so @8
循环次数 1 内存 119M
循环次数 2 内存 382M
循环次数 3 内存 528M
10 20 上 ./one 10000 内存210M
11 不调用shader 、 texture , 运行7次, 20 上内存最大到110M
12 pthread 100 次 线程设置为detached ./test 490M
13 std::thread 100 次 线程设置为detached ./test 244M
14 pthread 100 次 线程设置为join ./test 80M
15 thread 100 次 线程设置为join ./test 111M
16 pthread 100 次 线程设置为join ./test 每次liboper 100次 80M
16 pthread 100 次 线程设置为detach ./test 每次liboper 100次 2.99G
17 if(frame_count==0){
}return ; 有泄漏
18
17 if(frame_count==0){
//glx 注释glx
}return ; 没泄漏 第二次迭代内存升到496M 随后就恢复正常 110M
19
原版
7-8 次迭代后就内存不增加了 1.1G 左右
20 tranc_off 如果创建窗口 每次增加780M 用1080p测试
如果不创建窗口一直是110M不增加
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
2018-10-21 PS笔记