《游戏引擎架构》读书笔记(一)

本文是《游戏引擎架构》的读书笔记,涵盖了初始化顺序、内存管理、迭代器使用、资源管理、配置文件、游戏循环等多个核心话题。讨论了如何维持最低限度的堆分配、优化代码性能、使用前置递增迭代器、以及设计高效资源管理系统等方面,旨在分享书中关于游戏引擎开发的实用技巧和最佳实践。
摘要由CSDN通过智能技术生成

最近在读《游戏引擎架构》这本书,虽然感觉理论颇多,而且很多很多东西都看不懂,不过还是简单的把一些感觉很好的思想和方法或者概念记录下来。



1.      关于各个部件初始化,一个最简单粗暴的办法就是将各个部件按顺序排列起来,不但可以方便的看到初始化顺序,而且修改也十分容易。

2.      关于内存分配:

a)        游戏中最常见的法则是-维持最低限度的堆分配,并且永远不在紧凑的循环中使用堆分配。

b)        定制的内存分配器,先预先申请一大块内存,然后构建自己的内存分配器(stack allocator-堆栈分配器或者 池分配器, 单帧分配器,双缓冲分配器)

c)        高效能的代码体积越小越好,关键代码中避免函数调用,如果要调用该函数,最好将该函数放在调用函数附近,尤其不要放到其他编译单元中!谨慎使用内联函数,过多的内联会使代码体积过大,关键代码不能完全装入内存,导致命中失败。

3.      关于迭代器,最好使用前置递增,即++p,后置递增要备份其值,会导致性能损失。

4.      运用stl,但是要慎用。

5.      字符串相关:外部字符串涉及到本地化问题,需要考虑翻译的情况。内部字符串需要考虑性能问题,关于一个对象命名为一个字符串,但是比较或者查找这个字符串是一个很大的性能开销。

6.      唯一标识符:GUID <globally unique identifier>游戏中的对象都有一个全局标识符,一般为对象资源的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值