游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4547|回复: 2

wglMakeCurrent会造成内存泄露!

[复制链接]

6

主题

47

帖子

49

积分

注册会员

Rank: 2

积分
49
发表于 2008-5-28 19:53:00 | 显示全部楼层 |阅读模式
我在用OpenGL做MDI的时候发现我的程序出现内存泄露,内存使用量在程序运行时不断增加,平均100KB/s(通过任务管理器观察)。经过跟踪分析,最终我确定问题出在wglMakeCurrent身上。GameDev有人说也发现这个问题,说是个别Ati卡驱动的问题,正好我用的也是Ati的卡。我觉得Ati驱动的这个BUG挺严重的, 因为内存的使用量是在不停地增长,根本不受控制!
我想应该有能代替wglMakeCurrent的方法。
void render()
{
        hDC=::GetDC(this->handle());

        wglMakeCurrent(hDC, hRC);

        SwapBuffers( hDC );
               
        wglMakeCurrent( NULL, NULL );
        ::ReleaseDC(this->handle(),hDC);
}

6

主题

47

帖子

49

积分

注册会员

Rank: 2

积分
49
 楼主| 发表于 2008-5-29 00:34:00 | 显示全部楼层

Re:wglMakeCurrent会造成内存泄露!

更新了下驱动程序,问题解决了。

42

主题

115

帖子

141

积分

注册会员

Rank: 2

积分
141
发表于 2010-9-24 13:52:00 | 显示全部楼层

Re:wglMakeCurrent会造成内存泄露!

我当时好像是在别人nvdia显卡上也出现过什么问题,记不清楚了,我发现用我的N卡运行opengl程序初始化很慢,要一两秒才能初始化完成,感觉是驱动问题,我卸了驱动或者在别人电脑上运行完好
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-5 00:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表