【发布时间】:2017-02-08 14:16:51
【问题描述】:
我正在制作一款电子游戏,它是一款非常小的 2D 射击游戏。最近我注意到当场景中有大约 9 个或更多子弹时,帧速率会急剧下降。我的笔记本电脑可以处理高级 3D 游戏,而且我的游戏非常简单,所以硬件应该不是问题。
所以现在我有一个非常大的代码(至少对于一个人来说),我很困惑我应该在哪里寻找?子弹相关的函数和类太多了,比如不知道怎么分析是渲染函数有问题还是更新函数有问题?其他程序我可以用MVS 2015的调试工具,但是对于一个游戏来说,就不太实用了,比如我在render函数前放了一个断点,一秒要检查60次加上我什么都不能输入所以我永远不会有子弹来测试渲染功能!我尝试使用任务管理器,发现每个子弹的 CPU 使用率上升得非常快,但是当游戏速度变慢时,只有 10% 的 CPU 被使用!
所以我的问题是:
无法使用调试工具如何分析函数?
为什么游戏仍然可以使用系统资源时速度变慢?
【问题讨论】:
-
你需要做的是一些profiling。通过这种方式,您可以查看哪些函数花费的时间最多或被调用的次数最多,然后您可以开始查看它们以进行优化。虽然看起来你有一个好的开始,因为你知道它一定与“子弹”有关。
标签: c++ visual-studio debugging sfml