游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1687|回复: 3

为什么Reset老是失败

[复制链接]

9

主题

42

帖子

42

积分

注册会员

Rank: 2

积分
42
发表于 2004-10-30 14:51:00 | 显示全部楼层 |阅读模式
最近在为程序添加处理设备丢失的代码,在用TestCooperativeLevel得到D3DERR_DEVICENOTRESET的结果后,用pDevice->Reset(&..),结果每次都fail,而且我已经确保在Reset之前释放掉所有的Surface,texture等资源,是不是还有什么工作要做,或者是资源没释放彻底?对于

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2004-10-30 18:50:00 | 显示全部楼层

Re:为什么Reset老是失败

用D3D DEBUG RUNTIME跑你的程序,在VC的DEBUG窗口里可以看到D3D出错信息
一般来说都是资源没有释放干净

9

主题

42

帖子

42

积分

注册会员

Rank: 2

积分
42
 楼主| 发表于 2004-10-30 20:58:00 | 显示全部楼层

Re:为什么Reset老是失败

看到说是surface没有释放,可我明明已经release成功了啊,和surface相关的资源也释放掉了

20

主题

473

帖子

502

积分

高级会员

Rank: 4

积分
502
发表于 2004-10-30 23:58:00 | 显示全部楼层

Re:为什么Reset老是失败

如果资源过多,最好自己管理一下
创建的时候加到一个链表里,释放的时候从链表里拿出
如果RESET之前,链表不空,那么就TRACK IT
还有一点,就是调用D3DX interface的GetDevice()得到的d3ddevice也需要release
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-23 02:11

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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