Skip to content

Flecs v3.2.4

Compare
Choose a tag to compare
@SanderMertens SanderMertens released this 12 Jun 03:47
· 869 commits to master since this release
32e812c

Highlights

  • Performance improvements!
    • 25%-80% performance improvement when creating/deleting entity hierarchies
    • 70%-90% performance improvement when reparenting/changing entity names
    • 40% performance improvement for event forwarding
    • 5%-20% performance improvement when iterating cached queries
  • A new query feature that allows for nesting terms
  • A new alerting addon that monitors graph queries for invalid patterns, with explorer UI:
Screenshot 2023-06-11 at 6 32 38 PM

Release notes

This version includes the following bugfixes:

  • Fix issue with calling children() on builtin Wildcard/This entities
  • Fix issue in rule engine with anonymous source variables and component terms

This version includes the following improvements:

  • [alerts] Implement alert addon
  • [cpp] Add world::children method for iterating root entities
  • [expr] Add ecs_interpolate_string function
  • [expr] Add support for evaluation of dotexpressions on variables (e.g. $foo.x)
  • [rules] Add support for nested query terms
  • [queries] Reduce overhead of query cache entry by not inlining infrequently used fields
  • [queries] Reduce complexity and indirection of query cache data structures
  • [systems] Allow rate/interval to be modified with ecs_system_init
  • [pipelines] Add support for integration with external tasks systems (thanks @gsnook!)
  • [docs] Correct parameter naming of flecs_hashmap_init (thanks @kagetu!)
  • [docs] Add section on task systems to system manual
  • [core] Allow Exclusive property to be removed from (unused) ids
  • [ux] Improve error messages in flecs_bulk_new, ecs_rule_iter
  • [internals] Improve naming of functions, constants and add more comments
  • [internals] Don't emit unnecessary TableFill/TableEmpty events
  • [internals] Don't emit unnecessary TableCreate/TableDelete events
  • [internals] Revalidate observer cache in more scenarios (reduces cache invalidation events)
  • [internals] Remove redundant calls to defer_begin/defer_end in bootstrap
  • [internals] Improve performance of id record creation for pairs
  • [internals] Don't inline infrequently used fields in ecs_table_t
  • [internals] Remove dead sorting code (thanks @jbarthelmes!)

Benchmark results
https://github.com/SanderMertens/ecs_benchmark/tree/f1a776066fc6d857c9aa1e7c3d7ff59069583750

Known issues:
#969
#965
#844
#765
#714
#620
#478
#314

New Contributors

Full Changelog: v3.2.3...v3.2.4