上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 70 下一页
摘要: 现代的游戏大多资源量都比较大,无法做到游戏启动之初就加载了全部资源,所以资源动态加载必然要做。下面说一说一些不同的资源动态加载方案。第一种方式,分贞加载。所谓分贞加载顾名思义就是把游戏资源的加载分解到不同贞去做,这样可以降低某一贞突然加载大量资源导致的帧率急剧下降。这种分贞可以是以资源为单位,也可以加载步骤为单位。比方说第一步进行磁盘IO,第二步进行一些资源使用前的准备工作(如提交显卡等),这些步骤也可以分别放在不同贞中进行。为了使贞率更加平稳,可以限定每贞加载的量,或者时间阈值。比方说目前渲染以贞的时间是10ms,目标帧率是30贞,这样还有20ms左右的空闲时间,这时可以在加载的时候累计耗时 阅读全文
posted @ 2011-02-11 09:04 oayx 阅读(594) 评论(0) 推荐(0) 编辑
摘要: 不光还是游戏引擎,任何一个项目都有必要做好内存管理,至少可以监控内存使用量和内存泄露。而对于游戏引擎而言更是如此,在游戏引擎里面动态分配释放内存的地方不在少数,做好内存管理对于提高引擎运行效率是十分必要的。内存管理就是做两件事,负责内存的分配和释放,再有就是对内存的分配释放进行监控,据此来解决内存泄露和掌握内存使用情况。先说说内存分配释放,这也是内存管理最重要的部分。一般来说内存管理只管理小内存的分配释放,大内存则无需管理制作监控即可。过多的小内存分配释放会造成系统内存碎片从而可能分配不下内存,与此同时过多的调用系统的内存分配释放函数也是低效。malloc,free这些函数本身就很慢。现在问题 阅读全文
posted @ 2011-02-11 09:00 oayx 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 以前一直没有接触过粒子系统,上一个引擎由于试运行在iPhone上,也没有专门的实现这一模块。最近由于工作关系不得不进行研究并写一个编辑器。通过这一段时间对各种粒子系统,特效系统的研究我也有了进一步的了解,在51期间自己写了一个十分简单的粒子系统框架,给大家共享(见后面的连接),并打算进一步集成到目前正在独立开发的ZeusEngine中。看到粒子系统作的各种效果感觉很神秘也很强大,其实粒子系统本质很简单。粒子系统包括发射器,影响器还有图形(或者叫渲染器),这三个部分被集成到一个叫粒子系统的类中,他们是一have a的形式集成近来,也就是说使用成员变量的方式。他们的工作原理可以用一个例子来简单解释 阅读全文
posted @ 2011-02-11 08:55 oayx 阅读(3399) 评论(0) 推荐(0) 编辑
摘要: 简介:log4cpp是个基于LGPL的开源项目,是基于优秀的日志处理跟踪项目Java语言的log4j移植过来的。log4j介绍的文档很多,在java领域使用的也比较广泛,而这个功能强大的库对国内的C++语言开发人员却使用的不多。这里从开发人员使用的角度介绍这个库,使开发人员用最少的代价尽快掌握这种技术。下面先简单介绍一下这个项目的优点(也是log4j的优点),然后分原理,手动使用步骤,配置文件驱动方式使用步骤,其他考虑等方面进行讨论。以下讨论基于log4cpp0.3.4b。0. 优点提供应用程序运行上下文,方便跟踪调试; 可扩展的、多种方式记录日志,包括命令行、文件、回卷文件、内存、syslo 阅读全文
posted @ 2011-02-10 12:07 oayx 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 原创文章,转载请保留或注明出处:http://www.regexlab.com/zh/regref.htm] 引言 正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', 'abbbbb 阅读全文
posted @ 2011-02-09 15:38 oayx 阅读(252) 评论(0) 推荐(1) 编辑
摘要: 代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#if0//整数match_resultsresults;tstringstr("f34");rpatternpat("^[+|-]?\\d+\\d*$");match_results::backref_typebr=pat.match(str,results);if(br.matched){tcout<<"ma 阅读全文
posted @ 2011-02-09 15:17 oayx 阅读(276) 评论(0) 推荐(0) 编辑
摘要: GRETA 是 Microsoft Research 的 Eric Niebler 开发的一个 free C++ 正则表达式实现,下载地址 http://research.microsoft.com/projects/greta/ 。 greta主要有如下类:rpattern 正则表达式类。 match_results 执行结果类 rpattern的主要方法: rpattern 构造函数。设置正则表达式和参数。 match 执行正则表达式。可以接受三种参数:std::string, const char*, const_iterator。返回值为match_results::backref_t 阅读全文
posted @ 2011-02-09 14:28 oayx 阅读(588) 评论(0) 推荐(0) 编辑
摘要: 1.目前c/C++方面的正则表达式大家必提boost,其实boost是一个庞大的库集合,正式因为庞大,下载编译后还得100多M。所以不选择。2.greta是微软的正则表达式封装,不过看它说明除了windows下可以用,linux其实也可以用(c++)。3.greta实在vc6下发布的,用vs2005编译,会报错:具体错误参照:social.microsoft.com/Forums/zh-TW/vcgeneral/thread/7461e68d-739d-4b36-a068-1c12a827e594 ,“Greta Parser for VS2005”,就 阅读全文
posted @ 2011-02-08 15:12 oayx 阅读(1708) 评论(0) 推荐(0) 编辑
摘要: 作者:朱金灿来源:blog.csdn.net/clever101 GRETA是微软研究院推出的一个正则表达式模板类库,GRETA 包含的 C++ 对象和函数,使字符串的模式匹配和替换变得很容易,它们是:· " rpattern: 搜索的模式 · " match_results/subst_results: 放置匹配、替换结果的容器 据测试,GRETA库的匹配速度比Boost Regex和ATL7的CATLRegExp都快。另外GRETA虽说是微软研究院出的,在linux其实也可以用的。 GRETA库原在vc6下发布的。用VS 2005编译 阅读全文
posted @ 2011-02-08 15:11 oayx 阅读(411) 评论(0) 推荐(0) 编辑
摘要: 本文摘要翻译了几篇文章的内容,简单介绍 ATL CAtlRegExp,GRETA,Boost::regex 等正则表达式库,这些表达式库使我们可以方便地利用正则库的巨大威力,给我们的工作提供了便利。 正则表达式语法 字符元意义.匹配单个字符[ ]指定一个字符类,匹配方括号内的任意字符。例:[abc] 匹配 "a", "b"或 "c"。^如果^出现在字符类的开始处,它否定了字符类,这个被否定的字符类匹配除却方括号内的字符的字符。如:[^abc]匹配除了"a", "b"和"c"之 阅读全文
posted @ 2011-02-08 14:36 oayx 阅读(1302) 评论(0) 推荐(0) 编辑
上一页 1 ··· 38 39 40 41 42 43 44 45 46 ··· 70 下一页