章节名:常规游戏编程指导规范
2012-03-21 20:48:41
鱼雷
(左手程序右手诗)
//z 2012-4-10 17:34:53 PM IS2120
1.对你所做的工作进行备份
不备份的代价是巨大的,重新编写角色AI和冲突检测就是悲剧
2.开始游戏项目时要进行良好的组织
使用合理的文件名称和目录名称,使用一致的变量命名规则,并尽可能使用单独的目录存储图形和声音数据
3.使用内嵌函数
使用inline,可能会使程序变大,但是程序的速度更重要
4.尽可能使用32位变量而不是8位或16位变量
奔腾以上的CPU都是32位或64位的,这意味着他们不擅长处理8位和16位数据,更小的数据会造成内存寻址问题,降低程序的速度,例如一个结构体的长度为5个字节,那将导致内存寻址的性能相当糟糕。
5.不要害怕使用全局变量
(//z 2012-4-10 17:34:53 PM IS2120
嗯嗯。
6.以RISC方式进行编程
使代码尽可能简单,奔腾类处理器适合处理简单指令,简单指令使代码变的更长,但将会使编译器更加容易处理,书中给了一个例子:
if (x += (2 * buffer[index++])>10)
{
//执行处理
}//这样不好
应该替换成:
x += (2 * buffer[index]);
index ++;
if(x > 10)
{
//执行处理
}
7.对于整数乘以2的幂这种简单运算,应使用二进制移位
(当今时代的编译器会自己做这种优化)
8.编写高效的算法
算法永远很重要!
9.不要在编写代码过程中优化代码
不要忍不住去在编写代码过程中做优化,这通常是浪费时间。等待已经完成一个主要代码或已经完成游戏编码后,再进行仔细优化(如使用Intel的VTUNE这样的优化工具)。这将会节省大量时间,因为不需要处理那些模糊的代码或不必要的优化。另一方面,在编写的时候也不要写不清晰的代码。
10.慎用C++
指的是在没必要的时候不要使用C++的语言特性,比如过度使用类或者重载之类。
11.如果你发现采取的路线很困难,则应该马上停止,然后备份,并想办法绕过该困难
注意结构吧,这一条目前还没什么体会。
12.对于简单对象,不要编写复杂的数据结构
这条好理解,不要因为链表强大而在知道元素最大为256个的情况下不适用数组而使用链表。
//z 2012-4-10 17:34:53 PM IS2120