游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1589|回复: 1

关于MDX中dispose方法的问题

[复制链接]

59

主题

984

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

积分
1200
发表于 2005-10-15 13:29:00 | 显示全部楼层 |阅读模式
在MDX中对mesh调用dispose方法会导致一些不确定的错误发生
在深入Managed DirectX9(十一)中讨论过关于mesh不能进行优化的问题
当时的代码是这样的
mesh.Dispose();
mesh = tempMesh;
simplifiedMesh = Mesh.Simplify(mesh, adj, null, 1,MeshFlags.SimplifyVertex);

在simplifiedMesh方法的时候发生了异常,当时以为是.x文件的问题,因为换了一个.x文件之后,程序确实能正常运行,而且mesh = tempMesh;也没有出现异常,但实际上在dispose的时候就出问题了,MDX中的dispose方法会导致多个对象被dispose,产生一些奇怪的错误,解决的方法是在创建device时注销所有事件句柄
Device.IsUsingEventHandlers=false;

44

主题

248

帖子

274

积分

中级会员

Rank: 3Rank: 3

积分
274
发表于 2005-10-15 20:16:00 | 显示全部楼层

Re:关于MDX中dispose方法的问题

当时我看那本书的时候  运行到简化网格的时候就遇到了这个困难,
据说是模型无法简化造成的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-22 07:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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