DirectX编程中常见崩溃总结

1.在该传入非空的地方传入了空指针。通常是因为视图调用某个函数,但是Buffer或者资源没有初始化。
2.在该传入空指针的地方传入了已经存在资源的指针。一般常见于各种Create函数
3.释放资源的时候该资源其实已经被其他地方释放了,可能并非是该资源本身,而是已经被其他的资源给释放了。例如VRWorks里面的 ID3DLateLatchObject就会自动释放对应的所有Buffer资源,试图释放其他Buffer都会导致调用失败
4.多线程调用没对函数进行加锁,外部操作修改被主循环用到的变量会导致抢占问题
5.有些RenderTarget或者Texture,Shader资源在多个不同的device或者context下使用,需要创建共享资源,并对Texture设置相应的flag,否则在同时引用该资源的时候程序就会崩溃,在给Unity做原生的渲染插件扩展的时候尤其需要注意这一点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值