请教DX9中设备丢失的解决方法

visualvisual 2011-01-30 08:42:31
使用CreateTexture()以default的方式创建的纹理,更具微软的说法在设备调用reset()之前释放,然后在调用reset()之后从新创建就可以成功恢复设备。但是我调用reset()函数一直返回失败,设备无法恢复。

如果我不使用default的资源就可以成功恢复设备,我想在释放default资源之前是不是还要调用什么函数?就像ID3DXSprite丢失后要调用OnLostDevise()一样,告诉设备sprite需要被恢复。

请高手指点,谢谢!
...全文
78 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
visualvisual 2011-02-03
  • 打赏
  • 举报
回复
谢谢,是我使用createtexture创建了rendertarget,在使用lpdevice->getrendertarget(&ptarget)时增加了ptarget的引用计数,这部分我忘记release。
renxu350 2011-01-31
  • 打赏
  • 举报
回复
Reset()失败是不是之前没有Release ?
使用D3DPOOL_DEFAULT创建的D3D对象要处理设备丢失问题,需要Release再Create,
D3DPOOL_MANAGED不需要处理设备丢失问题

8,304

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧