游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1431|回复: 0

关于GetBackBuffer()资源的释放

[复制链接]

1

主题

9

帖子

29

积分

注册会员

Rank: 2

积分
29
发表于 2009-6-10 21:46:00 | 显示全部楼层 |阅读模式
我在程序里面填了如下代码:

LPDIRECT3DSURFACE9 ScreenShotSurface;
D3DDISPLAYMODE d3dm;
gSceneManager->getDevice()->GetDisplayMode(0,&d3dm);
gSceneManager->getDevice()->CreateOffscreenPlainSurface(d3dm.Width,d3dm.Height,d3dm.Format,D3DPOOL_DEFAULT, &ScreenShotSurface, NULL);

gSceneManager->getDevice()->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO, &ScreenShotSurface);
D3DXSaveSurfaceToFile(L"save.bmp",D3DXIFF_BMP,ScreenShotSurface,NULL,NULL);
ScreenShotSurface->Release();

我觉得资源应该释放了,但是结束程序总是提醒我引用计数不为零。
我调试了一下,如果把
gSceneManager->getDevice()->GetBackBuffer(0,0,D3DBACKBUFFER_TYPE_MONO, &ScreenShotSurface);
去掉,就不会有提示了,这个除了最后的那句释放外还需要怎么释放呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-20 01:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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