内存计数器 - 碰撞检测项目
Memory counter - Collision Detection Project
我想我会问专家 - 看看你是否能帮助我:o)我的儿子使用蛮力和八叉树算法编写了C++碰撞检测代码。
他使用调试等 - 并且为了收集有关mem使用情况的统计数据,他使用了Windows和任务管理器 - 这给了他迄今为止所需的所有最终结果。结果还没有达到预期(Octree总体上将使用更多内存)。
他的导师建议他在每个"初始化"后检查记忆,然后在测试中绘制
出图表。他被指向瓦尔格林德的方向....但它看起来很复杂,因为Ehe患有自闭症,他担心这可能会影响他的计划:o)
任何人都建议一种简单的方法来获取有关内存的信息,如果不是帧速率和CPU使用率???
感激地收到任何帮助,因为我什么都不知道,所以根本帮不了他,除了在这里打字 - 因为这是"社交"环境,他无法处理它。
谢谢罗莎琳
对于内存泄漏:
如果你使用的是Windows,Visual C++ by Microsoft(Express版本是免费的)有一个很好的调试工具,可以很容易地设置,说明可以在这里找到;否则,如果你在Linux上,Valgrind是标准之一。我经常使用Visual C++工具,这是一个很好的验证,证明您没有内存泄漏。此外,您可以使用它使您的程序中断从内存泄漏日志中获取的分配编号,以便它快速将您指向何时何地分配泄漏的内存。同样,它很容易实现(只需几个头文件,然后是您想要转储泄漏的单个函数调用)。
我发现实现 VC++ 工具的最佳方法是在 main 返回值之前调用将内存泄漏转储到输出窗口。这样,您就可以捕获程序中所有内容的泄漏。这效果很好,我已经将其用于一些高级软件。
对于帧速率和 CPU 使用率:
我通常使用自己的工具进行基准测试,因为一旦你学会了要调用的函数,它们就不难编码;这通常需要调用OS API,但我认为Boost具有可用的功能并且是跨平台的。可能还有其他工具可以跟踪操作系统中的过程以获取基准测试数据,但我不确定它们是否是免费的。
看起来您是在Windows系统下运行的。 这不是一个编程解决方案,你可能已经尝试过了(所以请随意忽略),但如果不是,你应该看看性能监视器(它是Windows附带的工具之一)。 它可以让您跟踪有关单个进程和整个系统(CPU/提交大小等)的各种有用统计信息。 当程序运行时,它会将结果绘制为图形,您可以保存结果以供将来查看。
在 Windows 7 上,您可以从此处访问它:
Control PanelAll Control Panel ItemsPerformance Information and ToolsAdvanced Tools
然后打开性能监视器。
对于旧版本的窗口,它曾经是管理工具选项之一。
- 落砂模拟碰撞检测C++和SFML
- SFML 中的重力和碰撞检测
- 我的碰撞检测中的奇怪行为
- 如何为球形物体和三角形地形提供高效的碰撞检测和响应
- 圆形与方形碰撞检测以及需要响应C++ |OpenGL。我的问题就是这个"I need to keep the circle outside the square"
- 在Qt3D中进行碰撞检测的预期方法(或好方法)是什么?
- 在碰撞检测方面苦苦挣扎.如何正确检测碰撞?
- 三角形-三角形碰撞检测问题
- 不同类别之间的C SFML碰撞检测
- 使用D3DXVECTOR C 的碰撞检测,发生碰撞后该怎么办
- 当我发生碰撞检测时,矢量迭代器不兼容
- 如何使用灵活的碰撞库在两个点云或点云与机器人末端执行器模型之间进行碰撞检测
- 优化碰撞检测C
- 使用碰撞检测来增加SFML 2.4中的游戏分数的问题
- 使用OnComponentHit UE4 C++进行碰撞检测
- 体素世界中的碰撞检测
- 如何在 2D 碰撞检测中正确解析碰撞的位置?
- (中广)获取AABB树生成的边界立方体进行碰撞检测
- 使用C 中的单元格 /图块 /网格进行碰撞检测的最佳数据结构
- 内存计数器 - 碰撞检测项目