« Shader快速复习:Cube Mapping(立方环境贴图)WINDOWS游戏编程大师技巧笔记之——WIN32编程 »

WINDOWS游戏编程大师技巧笔记之——学海无崖

 从图书馆借来一本厚厚的WINDOWS游戏编程大师技巧笔记,看一看,见识见识,写写感想。今为第一章(学海无崖)之感想,较有启发的,作者在这里谈了谈它对C++之于游戏的一点点所谓“规范”——ZwqXin.com

本文来源于 ZwqXin (http://www.zwqxin.com/), 转载请注明
      原文地址:http://www.zwqxin.com/archives/cpp/windows-game-programer-1.html

1.不要怕使用全局变量

貌似效率更高?可是......可是........好吧,真不知谁说得对。我最初的OpenGL程序其实是用纯粹C编写的,说纯粹C貌似不好吧(我对C之精髓真是...恩,遥望),过程式结构吧。过程式就算了,还一直只会用全局变量...(原谅我吧,当时连“类”是啥米都不知道,虽然一直用的框架的CMainFrame就是一个类 - -)。这或许受点NEHE的初级教程例程的影响(喂,别推卸责任喔~),倒是,为何NEHE不用类封装呢?搞那么多全局函数。学C++后回头看它,以为是为了方便(OpenGL例程嘛,又不是C++例程~~),看来是不是NEHE大师也跟本书作者领悟一样呢?

恩....反正我被PI后,也很少胆敢用全局变量了(倒是有时候随便设些测试用的变量,用完也就删了...),当然,事有必须的 时候...我还喜欢用全局函数全局类呢....唉不多说了。

2.使用内联函数

这个....我也时常用呢。尤其看了Effective C++之后.但是权衡起得失来也经常有"犹豫不决"的时候.反正如果实现太长我就不敢内联了。

3.尽量使用32位变量,而不用8位16位的

唉,可能日后要改成“尽量使用64位变量”呢,谁知道呢。提倡用32位变量是原于内存中存储数据的“对齐”问题,Effective C++在条款50左右也提过,不过那是另一回事了。Pentium处理器全是32位的,意味它不喜欢非32位的(喂,现在呢~),寻址的不规则可能会影响效率。书中举例了:

  1. struct CPOINT
  2. {
  3. short x,y;
  4. unsigned char c;
  5. }
  6. struct CPOINT
  7. {
  8. int x,y;
  9. int c;
  10. }

或许你会抱同样的看法:下面的比较好。完全是因为审美观问题。但是问及效率,我还真答不上来(另外,我也忘记一个short究竟占多少位了 - -)。上面的CPOINT共占( 2*sizeof(short)+sizeof(char)=)5字节。不要说2的某次方了,还是个奇数......立正!对齐!向前看!

然后作者告诉最后填充一下自定义的结构为32字节的倍数........晕。

4.注释代码

好,灰常好。可惜某Zwqxin是个不好的孩子。

5.RISC尽量简化代码

通常来说,我也不喜欢一行里充满复合指令。也是的,何必为难编译器呢(虽然它是微软的东东!)......好处:方便设置断点(非常“有用”的好处)!让处理器有机会用更多执行单元并行处理更多的代码!

6.使用二进制移位运算来进行乘数,除数为2的简单乘除法

呃....这个...考虑....考虑.........永远地考虑ING呵呵

7.设计高效率算法

“更好的做法是使用清楚、高效率的算法而不是蛮力和穷举型的算法。”(碎碎念:要是上苍公平点人人都有这样的能力这样的头脑,谁不用呢!)

8.不要在编程过程中优化代码(否则就通常是在浪费时间),建议留后完成

虽然深感同意,但是自问自己也没啥“在编码过程中就优化”的能耐......注意,要日后还能看明白自己写的是啥,代码起码写的时候要条理清晰哦。

9.不要为简单的对象定义太多复杂的数据结构

这个....貌似我对数据结构就是蒙....

10.简单而直观的代码是最好的程序

设计模式迷哥迷姐(?)们快去轰他,哈哈,作者叫Andre LaMothe,邮箱ceo@xgames3d.com(被爆了没?)

11.避免一错再错,沿着死路走

这是很好的忠告。但是,如果能告诉我判断怎样的路是死路的方法就更好了。

12.经常备份你的工作

这是很必要的嘛。自己深有同感,有时候就是想回到走错路之前那一步,可惜再回去之前,眼前的这程序却玩起了崩溃。况且备份一次代价太高了TAT,珍惜硬盘呀TAT(摊手:给一个能够一键备份程序必要文件的东东我吧~~);再况且,CODER不是都不太喜欢“重复的代码”么呵呵。

13.开始工作前,进行一下组织工作,使用合理的文件名目录名,提出一致的名民约定。资源分目录。

好了。第一章,“血海乌鸦”就是这样。其余的....没什么了吧?

参考:WINDOWS游戏编程大师技巧 2nd edition

本文来源于 ZwqXin (http://www.zwqxin.com/), 转载请注明
      原文地址:http://www.zwqxin.com/archives/cpp/windows-game-programer-1.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

IE下本页面显示有问题?

→点击地址栏右侧【兼容视图】←

日历

Search

网站分类

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427

Copyright 2008-2013 ZwqXin. All Rights Reserved. Theme edited from ipati.