性能预算面板
< Zh
Jump to navigation
Jump to search
性能预算面板用于测量每帧生成所需时间,并按引擎系统分解显示。这是找出地图或模组中性能瓶颈的绝佳工具。

sv_cheats 1
。
budget_panel_height
调整面板高度,初始显示可能较拥挤。
mat_queue_mode 0
,测试完成后恢复为-1。基础使用
在控制台 输入:
- 开启:
+showbudget
- 关闭:
-showbudget
- 绑定按键:
bind <按键名> +showbudget
面板右侧显示FPS计数器和各系统耗时(毫秒/帧),数值越大对帧率影响越显著。
全屏模式
为准确测量渲染性能,必须:
- 使用全屏模式(非窗口化)
- 关闭后台应用程序
- 避免同时运行Hammer编辑器
渐进式指标
游戏逻辑、物理和音效的耗时会随帧率下降而增加。即使它们显示为最长条,也可能并非主因。建议禁用其他高耗功能进行对比测试。
性能分类解析
- 未统计耗时
- 常见原因:
- 后台程序(杀毒软件、Hammer 等)
fps_max
限制导致的引擎等待
- 世界渲染
- 优化方案:
- 使用提示笔刷 、func_areaportal、func_areaportalwindow等可见性控制 技术
- 通过env_fog_controller设置渲染距离
- 调试命令:
r_drawworld 0/1/2
mat_wireframe 0/1/2/3
- 位移渲染
- 优化方案:
- 减少位移面 数量/复杂度
- 调试命令:
r_drawdisp 0/1
- 游戏逻辑
- 优化方案:
- 减少实体数量
- 监控
think_limit
峰值
- 调试命令:
think_limit
- NPC AI
- 优化方案:
- 减少活跃NPC数量
- 优化导航网格
- 调试命令:
ai_disable
ai_show_connect
- 物理系统
- 优化方案:
- 使用prop_physics_multiplayer替代prop_physics
- 标记碎片物体减少碰撞
- 调试命令:
physics_budget
physics_report_active
- 静态道具渲染
- 优化方案:
- 添加func_occluder
- 设置prop_static淡出距离
- 调试命令:
r_drawstaticprops 0/1
perfui