BDD将如何影响应用程序的效率?

时间:2011-02-10 07:06:46

标签: c# xna bdd rtc

我正在考虑将BDD用于我的个人项目。然而,它是一个视频游戏(用CNA编写的生物模拟游戏,用XNA编码),我不确定BDD强制执行的模块化在运行时方面是否有益。

基本上,用户需要能够尽可能快地加速模拟,以便更快地遍历时间;越快越好。因此,处理速度至关重要,我讨论使用BDD,因为模块化意味着更多的函数调用(我知道,我们说的是低级别)。但是,我想要实现进化和AI机制,以及......有这么多互连引擎,一套测试可以轻松地为我节省大量的调试。

任何人都可以就这种情况下BDD的适当程度给出一个明智的意见吗?任何推荐的替代品(除了找到与我的时间有关的更明智的事情)?

由于

2 个答案:

答案 0 :(得分:2)

BDD(几乎)与应用程序效率无关。您真正要问的是模块化设计是否足以满足您的需求。现在这是一个非常难以回答的问题,但我认为是的,因为您的设计的基本轮廓(模块化方法,可测试组件,单独的AI等)与大多数游戏引擎的大纲没有太大差别我知道。

.NET JITTER将帮助您提高游戏的运行效率,例如内置小方法,以便您不必担心调用开销。 (只要你的目标是PC,WP7 / Xbox360上的.NET Jitter不会这样做)

在进行编程和分析时,您很可能会发现您的游戏具有某种限制性能的关键路径,一旦处于编程的很长阶段,尝试评估性能是否足够好,然后使用良好的分析工具(比如ANTS)优化这个关键路径(并且只有关键路径)。

答案 1 :(得分:0)

BDD不太适合性能测试。您可以使用BDD工具执行的操作是使用它来探索和捕获功能,无论性能如何,然后使用更传统的性能测试工具,正如Roy上面提到的那样,以提高性能。

BDD并非真正关于测试。这些方案有助于支持对话,帮助您发现开发团队成员与各利益相关方之间的误解。然后,您可以捕获您讨论过的场景。

在您的情况下,看起来您确实在测试,而不是探索您需要做什么。为此,请关注传统的测试工具,而不是BDD工具。