GC behavior

Kiith-Sa via Digitalmars-d digitalmars-d at puremagic.com
Mon Oct 6 11:06:02 PDT 2014


On Monday, 6 October 2014 at 17:46:34 UTC, Jonathan wrote:
> Kiith-Sa, thanks for the info! I started to check out your 
> entity project and love how your incorporating threads and 
> syncing new/old state. You did state that your cleaning up 
> things, but my initial reaction is that entitymanager is 
> performing too many roles. I'd remove the heavy game state and 
> threading into another class to make it cleaner, imho.
>
> https://github.com/kiith-sa/tharsis-core/blob/master/source/tharsis/entity/entitymanager.d

Yeah, the threading is currently the most work-in-progress thing 
(basically, I'm dealing with tradeoffs between trying to get the 
best average performance and least latency from non-realtime OS 
scheduling).

EntityManager is pretty much the kitchen-sink class where things 
exist until they are refactored away (most of Tharsis code used 
to be there at some point in the past). It will probably end up 
just as a shell delegating to all internals regarding 
entit/component management and process execution. However, 
EntityManager API itself is more complicated than needed for most 
users (and needs to be used together with other classes which add 
to the complexity) - it, together with other 'low-level' API 
classes will probably eventually be hidden behind a more 
user-friendly facade (yeah, I hate design patterns, but that's 
pretty much what it will be), with the ability to access 
EntityManager/others for more advanced users.


More information about the Digitalmars-d mailing list