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不增加