游戏开发要点

Game development skill.

使用全局变量

如果对运行时间要求非常严格的函数设计时候,使用全局参数,而不是是用局部变量传递参数。
因为在函数调用的时候,参数需要通过栈来实现传递参数,所以有压栈和出栈操作。例如:

1
2
3
4
5
6
7
8
9
10
11
12
void function(int x, int y, int color)
{
g_video_buffer[x * g_step + y] = color;
}

可以修改成:

int gx, gy, gcolor;
void funcation()
{
g_video_buffer[gx * g_step + gy] = gcolor;
}

使用内联函数

通过使用inline声明函数为内联函数,来摆脱函数调用,可以取消全局变量来传递参数。

1
2
3
4
inline void function(int x, int y, int color)
{
g_video_buffer[x * g_step + y] = color;
}

内存对齐

在定义结构体的时候,需要考虑内存对齐的问题。

使用位移指令实现计算功能

文章目录
  1. 1. 使用全局变量
  2. 2. 使用内联函数
  3. 3. 内存对齐
  4. 4. 使用位移指令实现计算功能