‘C++’ 分类的存档
__declspec用于指定所给定类型的实例的与Microsoft相关的存储方式。其它的有关存储方式的修饰符如static与extern等是C和C++语言的ANSI规范,而__declspec是一种扩展属性的定义。扩展属性语法简化并标准化了C和C++语言关于Microsoft的扩展。
用法:__declspec ( extended-decl-modifier )
extended-decl-modifier参数如下,可同时出现,中间有空格隔开:
align (C++)
allocate
appdomain
deprecated (C++)
dllimport
dllexport
jitintrinsic
naked (C++)
noalias
noinline
noreturn
nothrow (C++)
以下内容引用:<<游戏设计与开发-梦开始的地方>>
1. 使用二进制移位代替乘除
2. 适当使用全局变量 使用全局变量可以避免调用函数时的参数传递,可以提高速度。
3. 使用32位变量
4. 尽量避免类型转换
尽量使用相同类型的变量进行运算。比方说整数乘整数,浮点数乘浮点数。如果用整
数乘以或除以浮点数的话,在进行类型转换的时候要花去不少时间。如果必须进行类型转
换的话,把它留到最后进行。
5. 使用 InlineFunction
我们知道调用函数是一个非常复杂的过程,要用到栈。当函数比较简单时,我们不希
望每次调用它的时候都兴师动众。使用Inline 伪指令,可以避免不必要的函数调用。
6. 使用速查表(Look-Up Table)
如果程序中用到一些数学函数,比如y=f(x),实时计算太耗费时间。可以预先计算出
对应的 x,y的数值,放到一个大表里。在程序运行时只需到表里查出数值,这样是以存
储空间换取运行时间。
7.
void zBuffer(void)
{
int x, y;
for (y=0; y<YMAX;y++)
{
for (x=0; x<XMAX;x++)
{
WritePixel(x, y, BACKGROUND_VALUE); //将屏幕设为背景色
WriteZ(x, y, 0); //Z 缓存所有单元置0
}
}
for (each polygon) [...]
