游戏开发:基础知识
游戏循环
每帧顺序大致为:处理输入 → 更新模拟(物理、AI、规则)→ 渲染。固定时间步(fixed timestep)与可变渲染插值可减少帧率波动对模拟的影响;简单原型可用「每帧 deltaTime 缩放」但需注意大 dt 下的稳定性。
时间与帧率
- FPS:每秒完整帧数;与显示器刷新率、垂直同步(VSync)共同影响观感与输入延迟。
deltaTime:上一帧到当前帧的间隔(秒),用于把「每秒变化量」换算到本帧。
坐标与空间
常见为右手或左手笛卡尔坐标;屏幕空间常以像素左上角为原点。世界空间、相机空间、裁剪空间、屏幕空间之间的变换链与图形管线一致,引擎会封装矩阵栈。
资源与生命周期
纹理、网格、音频等占用显存与内存;场景切换时卸载、对象池(对象池化子弹/粒子)减轻 GC 或分配器压力。流式加载与异步 I/O 降低卡顿。
输入与状态
输入在帧内采样并写入「下一帧读取」的缓冲,避免同一帧多次消费不一致。游戏状态机(菜单、进行中、暂停)把逻辑分域,减少全局标志耦合。
调试与可观测性
日志分级、可开关的绘制碰撞体/导航网格、录制回放(确定性模拟前提下)有助于定位问题。性能分析以 GPU/CPU 时间线、Draw Call 与 overdraw 为常见切入点。