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线程先释放这个对象都有可能造成另一个线程崩溃, 所以为 ...
随机推荐
- 多线程 interrupt()方法
java interrupt()方法只是设置线程的中断标记,当对处于阻塞状态的线程调用interrupt方法时(处于阻塞状态的线程是调用sleep, wait, join 的线程),会抛出Interr ...
- skywalking安装运行(docker)
https://github.com/apache/skywalking-docker/tree/master/6/6.5 https://hub.docker.com/r/apache/skywal ...
- t4模版快速入门
语法 主要包括指令.文本块.控制块. 1.指令 指令主要包括template, output, assembly, import, include等类型,用以告诉T4引擎如何编译和运行一个模板.这些指 ...
- pm2 工具来管理 node 服务端
如下: nodeServer.js 'use strict'; const http = require('http'); const server = http.createServer(funct ...
- Java面试底层原理
面试发现经常有些重复的面试问题,自己也应该学会记录下来,最好自己能做成笔记,在下一次面的时候说得有条不紊,深入具体,面试官想必也很开心.以下是我个人总结,请参考: HashSet底层原理:(问了大几率 ...
- Linux 服务器CPU占用率100%,使用率高解决方案
机器高负载告警一般是CPU负载在99-100%,同时伴有大量的网络出包和入包量,常见的原因是机器在某个时段进行LOG,数据等备份操作,或者服务器被黑导致 输入top命令查看CPU使用情况 top 通过 ...
- Laya页面嵌套和Scene.destory导致的Bug
Laya2.1.1.1 参考: 预设使用 Laya给出了相同模块,逻辑代码也相同情况下,使用页面嵌+runtime的使用方案.但是该方案和Laya.Scene.open,Laya.Scene.dest ...
- IISExpress.无法启动IIS Express Web 服务器.Starting IIS Express... IIS Express is running
x 提示: 无法启动IIS Express Web 服务器. 来自IIS Express的输出: Starting IIS Express... IIS Express is running 总结: ...
- 【tensorflow基础】Tensorpack-API
安装 pip install tensorpack 使用 参考 1. Tensorpack: 2. Tensorpack,一个基于TensorFlow的神经网络训练界面,源码包含很多示例: 完
- AC与AP的安装使用(未经实战,仅供参考,未完待续)
AC:无线控制器(Wireless Access Point Controller) AP:无线访问接入点(WirelessAccessPoint) 以信锐AC为例 AC设备的管理口为MANAGE(E ...