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

 

posted @ 2019-10-21 19:46  洛笔达  阅读(626)  评论(0编辑  收藏  举报