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不增加
glfw内存泄露测试的更多相关文章
- Android 内存泄露测试数据处理--procrank,setprop,getprop(转)
1.Android内存测试常用的几个概念. VSS--virtual set size 虚拟耗用内存(包含共享库占用的内存)RSS--Resident set size实际使用的物理内存(包含共享库占 ...
- Android内存泄露测试
Android性能测试过程中的一些常用命令: CPU: adb shell top -n | grep "+PackageName 内存: adb shell dumpsys meminfo ...
- android 内存泄露测试
Android 程序由java语言编写,android的内存管理与java相似,通过new为对象分配内存,所有对象在java堆内分配空间,对象回收有个垃圾回收器来完成.GC就是垃圾收集的意思(Gaba ...
- 移动端测试===Android内存泄露和GC机制(转)
本文转自:https://www.testwo.com/article/1153 1.前言 Hello,小伙伴们,相信大家在项目测试中都遇到过内存泄露问题,小编也着实爬过很多坑.比如小编所测项目,更换 ...
- 内存测试——内存泄露工具 LeakCanary
项目地址 https://github.com/square/leakcanary 接入方法 1. 配置依赖 dependencies { debugCompile 'com.squareup.lea ...
- android手机测试中如何查看内存泄露
(一) 生成.hprof文件生成.hprof 文件的方法有很多,而且Android 的不同版本中生成.hprof 的方式也稍有差别,我使用的版本的是2.1,各个版本中生成.prof 文件的方法请参考: ...
- java: web应用中不经意的内存泄露
前面有一篇讲解如何在spring mvc web应用中一启动就执行某些逻辑,今天无意发现如果使用不当,很容易引起内存泄露,测试代码如下: 1.定义一个类App package com.cnblogs. ...
- 查看w3wp进程占用的内存及.NET内存泄露,死锁分析
一 基础知识 在分析之前,先上一张图: 从上面可以看到,这个w3wp进程占用了376M内存,启动了54个线程. 在使用windbg查看之前,看到的进程含有 *32 字样,意思是在64位机器上已32位方 ...
- C++11 shared_ptr 智能指针 的使用,避免内存泄露
多线程程序经常会遇到在某个线程A创建了一个对象,这个对象需要在线程B使用, 在没有shared_ptr时,因为线程A,B结束时间不确定,即在A或B线程先释放这个对象都有可能造成另一个线程崩溃, 所以为 ...
随机推荐
- JS filter的使用
定义和用法 filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素. 注意: filter() 不会对空数组进行检测. 注意: filter() 不会改变原始数组 ...
- Linux 上配置 AG
SQL Server Always On Availability Group 配置步骤:配置三台 Linux 集群节点创建 Availability Group配置 Cluster Resource ...
- TypeScript之Https通信
NetWorkRequest.ts(源代码如下) import * as https from "https"; import * as vscode from 'vscode'; ...
- 使用建造者模式和Lombok简化代码
在项目开发中,我们经常需要构建对象.常见的做法有getter/setter,或者构造器构建对象. 可能会有人写出类似如下的代码: Company company=new Company(); comp ...
- Python plot_surface(Axes3D)方法:绘制3D图形
3D 图形需要的数据与等高线图基本相同:X.Y 数据决定坐标点,Z 轴数据决定 X.Y 坐标点对应的高度.与等高线图使用等高线来代表高度不同,3D 图形将会以更直观的形式来表示高度. 为了绘制 3D ...
- js组件常用封装方法。。。。。【组件封装】 ★★★★★★
公共弹窗js写法:mcake弹窗封装Dialog.js function Dialog(bg,els,opts) { this.$els = $(els); this.$Dialogbg = $(bg ...
- Tengine的说明
什么是Tengine 官方帮助文档:http://tengine.taobao.org/changelog_cn.html
- rqalpha学习-1
1 setup 安装 C:\work\python\rqalpha\setup.py install C:\work\python\rqalpha 2 mod list 列出mod C:\work\p ...
- IDEA中MyBatis插件的安装及使用
这个插件的好处就在于能自动关联mapper类与xml,让你可以快速的互相跳转,还能帮助你做简单的排错. 安装方法: 1.File→Settings→Plugins,输入mybatis plugin,本 ...
- [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 ...