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

glfw内存泄露测试的更多相关文章

  1. Android 内存泄露测试数据处理--procrank,setprop,getprop(转)

    1.Android内存测试常用的几个概念. VSS--virtual set size 虚拟耗用内存(包含共享库占用的内存)RSS--Resident set size实际使用的物理内存(包含共享库占 ...

  2. Android内存泄露测试

    Android性能测试过程中的一些常用命令: CPU: adb shell top -n | grep "+PackageName 内存: adb shell dumpsys meminfo ...

  3. android 内存泄露测试

    Android 程序由java语言编写,android的内存管理与java相似,通过new为对象分配内存,所有对象在java堆内分配空间,对象回收有个垃圾回收器来完成.GC就是垃圾收集的意思(Gaba ...

  4. 移动端测试===Android内存泄露和GC机制(转)

    本文转自:https://www.testwo.com/article/1153 1.前言 Hello,小伙伴们,相信大家在项目测试中都遇到过内存泄露问题,小编也着实爬过很多坑.比如小编所测项目,更换 ...

  5. 内存测试——内存泄露工具 LeakCanary

    项目地址 https://github.com/square/leakcanary 接入方法 1. 配置依赖 dependencies { debugCompile 'com.squareup.lea ...

  6. android手机测试中如何查看内存泄露

    (一) 生成.hprof文件生成.hprof 文件的方法有很多,而且Android 的不同版本中生成.hprof 的方式也稍有差别,我使用的版本的是2.1,各个版本中生成.prof 文件的方法请参考: ...

  7. java: web应用中不经意的内存泄露

    前面有一篇讲解如何在spring mvc web应用中一启动就执行某些逻辑,今天无意发现如果使用不当,很容易引起内存泄露,测试代码如下: 1.定义一个类App package com.cnblogs. ...

  8. 查看w3wp进程占用的内存及.NET内存泄露,死锁分析

    一 基础知识 在分析之前,先上一张图: 从上面可以看到,这个w3wp进程占用了376M内存,启动了54个线程. 在使用windbg查看之前,看到的进程含有 *32 字样,意思是在64位机器上已32位方 ...

  9. C++11 shared_ptr 智能指针 的使用,避免内存泄露

    多线程程序经常会遇到在某个线程A创建了一个对象,这个对象需要在线程B使用, 在没有shared_ptr时,因为线程A,B结束时间不确定,即在A或B线程先释放这个对象都有可能造成另一个线程崩溃, 所以为 ...

随机推荐

  1. JS filter的使用

    定义和用法 filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素. 注意: filter() 不会对空数组进行检测. 注意: filter() 不会改变原始数组 ...

  2. Linux 上配置 AG

    SQL Server Always On Availability Group 配置步骤:配置三台 Linux 集群节点创建 Availability Group配置 Cluster Resource ...

  3. TypeScript之Https通信

    NetWorkRequest.ts(源代码如下) import * as https from "https"; import * as vscode from 'vscode'; ...

  4. 使用建造者模式和Lombok简化代码

    在项目开发中,我们经常需要构建对象.常见的做法有getter/setter,或者构造器构建对象. 可能会有人写出类似如下的代码: Company company=new Company(); comp ...

  5. Python plot_surface(Axes3D)方法:绘制3D图形

    3D 图形需要的数据与等高线图基本相同:X.Y 数据决定坐标点,Z 轴数据决定 X.Y 坐标点对应的高度.与等高线图使用等高线来代表高度不同,3D 图形将会以更直观的形式来表示高度. 为了绘制 3D ...

  6. js组件常用封装方法。。。。。【组件封装】 ★★★★★★

    公共弹窗js写法:mcake弹窗封装Dialog.js function Dialog(bg,els,opts) { this.$els = $(els); this.$Dialogbg = $(bg ...

  7. Tengine的说明

    什么是Tengine 官方帮助文档:http://tengine.taobao.org/changelog_cn.html

  8. rqalpha学习-1

    1 setup 安装 C:\work\python\rqalpha\setup.py install C:\work\python\rqalpha 2 mod list 列出mod C:\work\p ...

  9. IDEA中MyBatis插件的安装及使用

    这个插件的好处就在于能自动关联mapper类与xml,让你可以快速的互相跳转,还能帮助你做简单的排错. 安装方法: 1.File→Settings→Plugins,输入mybatis plugin,本 ...

  10. [LeetCode] 142. Linked List Cycle II 链表中的环 II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Foll ...