同理也能应用到 软件优化

美术

建模阶段

面数预算 高模->低模 优化技术: 法线贴图Normal map

LOD(Level Of Details) 由摄像头远近加载模型细节(粗模到精模) 缺点:跳变破坏沉浸感

虚拟几何体 模型分为簇(cluster)按距离对每一个簇特化显示

纹理流送Textures 远距离低分辨率贴图,近距离反之

关卡流送

粒子特效

复杂行为

动画

主要为物理动画

伪物理动画 近似物理动画 代理碰撞体

硬件加速

gpu

着色器(Shader) 简化计算 降低复杂度 并行计算 优化计算

着色器≈材质

材质(material) 3d物体外观 由颜色、法线、粗糙度金属感构成

材质优化

视觉和性能的取舍

去重复感 纹理爆炸技术 运行时虚拟纹理(RVT)

好看、高校、不占内存为不可能三角

cpu

图形管线

绘制调用 程序化生成

游戏逻辑代码

Tick滥用:每帧更新执行 不合理广播事件 频繁垃圾回收

多线程

异步加载、预加载 存在更多问题 资源数据竞争和不一致性 锁机制 阻塞问题(再往下就是资深技术优化)

无锁编程

难度极高的编程模式,需要对资源调度有深度理解 无锁算法,调试困难、bug难以复现 主要体现在时序问题

面向数据设计

数据导向设计DOD(Data-oriented design)高门槛技术 进入内存,深入缓存 内存区块设计、高校调度系统设计、极致自定义内存分配策略

向量化计算(数倍性能飞跃)

更高门槛技术 CPU指令集优化 SIM指令集 研究不同硬件指令集,手写内联汇编或者编译器内置函数

游戏体积控制

手动裁剪 交付配置