3D游戏引擎设计与实现(7)
昨天在调试代码时,发现大量占用CPU资源,不知那里出什么问题,这个可以真是无从下手,正在苦脑时,突现发现,为什么不用帧速率来看看显示了多少帧。接着下来就添加帧速率上去,在调试时输出,发现每秒钟只有2到5帧,为什么会这么少的呢?又要从哪里下手去找出为什么这么慢的原因。只能用最笨的办法了,首先查看设备类型,因为它决定主要因素。接着去创建D3D设备的函数里调试,发现创建设备类型的参数是REF,就是使用标准设备,用软件模拟的,心里想:不慢才怪呢。所有东西都是用软件实现。原因肯定是在这里了,接着就跟踪为什么不能创建HAL类型的设备。最后找到了原因,就改正过来,结果显示到60多帧了。总算解决了一个问题。
在调试窗口与全屏模式时,也经常出现调试程序和VC死锁问题,看来这种切换是不能单步调试,只能写LOG实现调试了。