游戏引擎架构 && windows 核心编程

    欲想正人,必先正己。

静坐当思己过,闲谈莫论人非。

 

垂直同步的作用:

为避免画面撕裂,许多渲染引擎会在交换缓冲区之前,等待显示器的垂直区间消隐,即电子枪重归屏幕上角的时间。

高分辨率计时器的时间漂移

 多核处理器。

时间同步

         使用cpu的时间周期数进行度量

         若使用存储绝对值的手动时钟,需要定期将其清0,避免累加至很大的值。可以将时钟按照周期手动循环,time = (time +△t)%period。

         为了应付断点,可以锁定增量时间,当增加时间超过预设的上限,将其锁定至目标帧率

         If(dt > 1/30.0f) dt = 1/30.0f

人体接口学设备(HID)

弦(chord)一组按键组合,当同事按下的时候,会在游戏中产生一组独特的行为。

手势检测的方法,历史输入缓冲记录。

Debug技巧

         游戏内置菜单:切换全局bool设定,调教全局整数及浮点值,调用一些引擎提供的函数,执行任何任务;开启副菜单,使菜单系统按层阶式管理,方便浏览。

         AutoProfile实现技巧 page354

Tessellation 镶嵌

         把表面分割为一组离散的多边形。

纹素密度及多级渐进纹理

         Mipmap,对于每张纹理,建立低分辨率的纹理序列,当中每张图的宽度和高度都是前一张图的一半,图形硬件会按照三角形与摄像机的距离,选择合适的渐进纹理级数,以尝试维持纹素密度接近于1.

Ansi和Unicode

         Ansi为使计算机支持更多语言,通常使用 0x80~0xFF 范围的 2 个字节来表示 1 个字符。

         函数希望我们传入花出去的字符数,即应该传入_countof 而不是sizeof。

         程序字符串的比较采用CompareStringOrdinal,不考虑用户的区域设置,速度快,而用户字符串一般显示在界面上,要考虑用户的区域设置,采用CompareString(Ex)来处理。

         导出ansi和unicode dll函数的转换技巧,windows核心 page 29。IsTextUnicode         

posted on 2015-10-08 10:02  KHacker  阅读(177)  评论(0编辑  收藏  举报