我是靠谱客的博主 愤怒蛋挞,最近开发中收集的这篇文章主要介绍Direct2D死机崩溃现象,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


开发Windows程序的图形库,有很多选择,Cairo,QT等等,但我比较喜欢用Native图形库:GDI,GDI+,DIRECT2D,

GDI感觉逐步退出舞台,因为界面美观的和它沾不边;GDI+是一个大坑,蜗牛般的龟速,如果不构想缓冲层,你根本无

法用GDI+来写一个界面程序,否则你的程序绘制帧数很难高于30;而Direct2D看似是GDI和GDI+的终结者,但它也有

致命之处:Direct2D是不稳定的,随机弄死你的程序


我曾写过一个代码量50000左右的中小型项目,我使用的 Direct2D作为图形底层接口,但测试的结果是我的软

件在Windows8.1上偶尔死机,而在Windows10上频繁死机,为此,我追踪了所有相关的函数调用并设置了很多调试

点,最后找到了问题的根源:Direct2D在加载磁盘图片时,会出现一定概率的死机。最后我又单独为这个问题编写了

一个独立的测试小程序,这个小程序只用Direct2D不断地加载图片,这个小程序也会经常死机,我排除了传入参数

是否错误的问题,也排除了线程是否有内存空间的问题,换句话说,我排除了一切由我个人可能产生的崩溃的问题,

但Direct2D的加载函数还是崩溃了。


最后,我不得转用了GDI+来作为图形库,各种缓冲层的建立下,程序的帧数还算可以,当然让我高兴的结果是

程序崩溃现象没有了,不管如何加载或者删除GDI+对象,它都能正常执行。

如果哪位道友和我一样遇到Direct2D死机的问题,或者知道其中的原因,感谢来和我交流,本人对 Direct2D

并不能说是非常精通,但一个图形库本没有精不精通的说法,手捧着一本手册基本谁都可以写个项目出来。对于我的

Direct2D项目死机现象,我只能认为是Direct2D内部错误。。。。



最后

以上就是愤怒蛋挞为你收集整理的Direct2D死机崩溃现象的全部内容,希望文章能够帮你解决Direct2D死机崩溃现象所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(62)

评论列表共有 0 条评论

立即
投稿
返回
顶部