重新编写了HGESprite部分,不再使用HGESprite单元。
另外编写了一个HGECanvas单元,当然不是那个火人论坛上面的那个HGE加强版的那个。
参考ID3DSprite接口的做法,使用一个接口对象,就可以批量绘制所有的图元。
不需要创建多个接口对象。同时添加了纹理列表来管理显卡内存里面的纹理指针。
完全按照网络游戏的做法,加载完成硬盘自定义格式资源文件包后,产生所需要的显卡内存纹理对象,就可以释放系统内存,使系统内存占用相当
低。
开始绘图的时候就由显卡内存读取,由GPU来进行绘制。这样使CPU和系统内存资源极大地解放了。
D3D编程最爽的地方是不需要经常从系统硬盘读取资源,提供的显卡内存管理极大地方便了绘图操作。
这些简直是以前DDRAW模式所不能够比的。
重新编写了字体绘制部分,不再采用效率低下和不支持中文的原HGEFont单元。
采用D3D9.0C优化得比以前版本更理想的ID3DXFont进行绘制。
在D3D9.0C之前的ID3DXFont接口是不能够使用的。更何况是D3D8.0版本的。
但是D3D9.0C之后微软就已经优化到合乎要求了。尤其是不再需要为不支持中文而烦恼了,目前很多引擎对于中文的支持都是不理想的。
只是我对于Delphi的那些字符类型操作真是感到莫大的厌恶。
接下来应该是碰撞方面的优化了。
搞好之后,可以修改游戏源代码的绘图部分、逻辑部分和数据库部分,还是改成SQL数据库好些,方便以后的扩展。
Delphi 2010版本确实好用,说真的,真不敢想象在D7之下进行开发会是个什么样子。无法了解内存泄露,无法得到各种错误信息等等。
所以说在D7之下进行开发还是需要比在2010版本之下开发的时间成本和精力开销,还是非常大的。