c++ - 具有组件性能的 Entity Framework 实体

标签 c++ entityx

在 EntityX 中,EntityManager 有一个方法 entities_with_components,它返回所有具有所需组件的实体。在 Emitting Events 的例子中

我看到该方法的双重用法:

for (Entity left_entity : es.entities_with_components(left_position)) {
  for (Entity right_entity : es.entities_with_components(right_position)) {

它的性能是有效的还是它查询两次以找到合适的实体?

最佳答案

我写了 Entityx。

是的,这将遍历实体 N^2 次。您不想在实际代码中这样做。 EntityX 附带的示例有一个 much better collision system ,表现非常好。但同样,在实际代码中,如果您使用物理系统,它可能会为您进行碰撞,或者您可能会使用专用的碰撞库。

亚力克

关于c++ - 具有组件性能的 Entity Framework 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29430054/

相关文章:

c++ - 如何底部对齐字体

C++ - vector 迭代器不可递增错误

c++ - 错误无法打开源文件 "..."

c++ - 调用默认构造函数时模板可变参数编译错误

c++ - 程序结束时进程返回 0xC0000005

c++ - 将宏设置为值,如果为空

c++ - 没有 main() 的程序?