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
原文:https://www.cnblogs.com/luoyinjie/p/11715596.html