读《game engine architecture》有感

最近在看一本叫做《game engine architecture》的书,这本书从很细,很具体的讲解现在游戏引擎的体系结构。本书的亮点:1.讲解现代游戏引擎架构,拥有非常新的实例。包括作者自己公司的引擎和商业引擎例如Unreal的实例。2.清楚的讲解实现细节。代码少而思想多,往往一段话就可以让你了解某个部分的实现--(来自豆瓣上的点评)。下面来讲讲我的看法。

两星期前我没有涉足过game的任何东西,对于编程也是一知半解。凭着自己的热情和对图形编程等的兴趣开始了游戏引擎体系结构的学习。它给我的第一感觉是这个一个很庞大的软件,涉及到的内容绝对可以用“相当丰富”来形容。下面是我从很多资料中得到的这个引擎大概的容貌:

 

从这幅图就可以看出来这个软件是多么的给力啊。继续看每一个部分简介的时候,发现里面涉及的知识包括有图形学,人工智能,数学,物理,美术等的知识。这本书就是从下面开始往上讲各部分的内容。

今天来稍微讲一下书中的第五章关于内存管理方面的知识,内存主要从两方面来影响系统的性能,1.dynamic memory allocation,主要体现在malloc()和c++中的new关键字上,由于它是heap形式的分配,由于1它要适应各种大小的分配方式,势必会影响系统的性能;2某些操作系统调用malloc()等的时候,会进入内核态,然后再回来,这样就增加了相应的消耗。但是这些操作又是不可避免的,那么怎么优化呢?方法很多,想具体了解请看书的第五章第二节。2.memory access patterns,主要体现在内存的碎片上。于是就要在第一个因素解决的前提下,进行消除碎片的工作。具体的方法见书。

从这个小点就可以看到这本书是何等的详细,细致,想看这本书的话,可以到:http://books.google.com/books?id=LJ20tsePKk4C&printsec=frontcover&dq=Game+Engine+Architecture&hl=zh-CN&ei=RT9mTZrnKsrirAeNh9naCg&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCsQ6AEwAA#v=onepage&q&f=false。但是从这几天学习的情况来看的话,只是一味的看书还是不行的,需要找一个开源的引擎来学习一下,推荐irrlicht,可以到:http://irrlicht.sourceforge.net/ 下载,可以到http://baike.baidu.com/view/623466.htm看一下简介。里面有源代码,大家可以学习一下。

                                                              --by xiaoming

posted @ 2011-02-24 19:23  ustc_msra_ase  阅读(13020)  评论(1编辑  收藏  举报