HGE——重新编写HGESprite接口和字体接口

news/2024/7/20 15:13:23 标签: 数据库, 内存管理

  重新编写了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版本之下开发的时间成本和精力开销,还是非常大的。

转载于:https://www.cnblogs.com/GameDelphi/archive/2012/03/07/2382836.html


http://www.niftyadmin.cn/n/1099432.html

相关文章

Camera Tuning?

刚入职的时候我是很懵逼的,Camera Tuning是什么鬼,调参工程师?以前在学校会经常调侃同学们做深度学习实际上就是调参工程师,但是这个工作听起来貌似更符合这个职位名称。 大概的说,做Camera Tuning是由于camera本身在…

搭建4个逻辑节点的DPF

前提环境介绍: DB2 9.7, centos7 1.配置端口 root用户vi /etc/services添加如下端口配置信息: 这里为: DB2C_db2inst1 60000/tcp DB2_db2inst1 60003/tcp DB2_db2inst1_1 60004/tcp DB2_db2inst1_2 60005/tcp DB2_db2inst1_END 60006/tcp 用实例用户修改S…

最全的ASP.NET开源CMS汇总

这里汇总了一些asp.net开源cms,希望对学习ASP.NET的人员带来帮助. 国内: 1.SiteServer CMS SiteServer CMS 网站内容管理系统(著作权登记号2008SR15710)是定位于中高端市场的CMS内容管理系统,能最近汇总了一些asp.net开源cms,希望…

db2 使用db2pd 进行监视和故障诊断

因为 db2pd 工具可从 DB2 内存集合迅速返回即时信息,所以该工具可用于故障诊断。 该工具不需要获得任何锁存器或使用任何引擎资源就可以收集信息。因此,在 db2pd 收集信息时,有可能(并且预计)会检索到正在更改的信息&…

ORA-00600: [kcratr_nab_less_than_odr]

记一次ORA -00600 报错 启动数据库时报错ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr], [1], [1050], [58033], [58039], [], [], [], [], [], [], [] 此时提示了ORA-00600: internal error code错误信息,这类错误一般是oracle自己内部的…

ORACLE SQL Tuning Advisor

前言:一直以来SQL调优都是DBA比较费力的技术活,而且很多DBA如果没有从事过开发的工作,那么调优更是一项头疼的工作,即使是SQL调优很厉害的高手,在SQL调优的过程中也要不停的分析执行计划、加HINT、分析统计信息等等。从…

Linux时间函数之gettimeofday()函数之使用方法

Linux时间函数之gettimeofday()函数之使用方法 标签: linuxtimezonestructdelaynull 2011-12-04 15:59 48011人阅读 评论(1) 收藏 举报 本文章已收录于: 分类: linux应用层编程(30) 作者同类文章X版权声明&#x…

Hisi开发板上 SQLite-3.3.8移植

SQLite3.3.8在Hisi3515/3520上的移植 首先从http://sqlite.org下载SQLite 3.3.8。本文中假设将sqlite-3.3.8.tar.gz下载到/root目录下。然后,通过下列命令解压缩sqlite-3.3.8.tar.gz并将文件和目录从归档文件中抽取出来:# tar zxvf sqlite-3.3.8.tar.gz解…