Changes between Initial Version and Version 1 of Ticket #910
- 02/18/08 09:53:27 (5 years ago)
- Property Type changed from idea to task
- Property Summary changed from move soy.Screen and soy.Window to soy.display, fold remaining _core into _internals to move soy.Window to soy.windows
initial v1 3 3 The idea is to empty the root soy. namespace except for documentation. This makes it easier to see the extensions in a dir() and the hierarchy cleaner. 4 4 5 We originally put these classes in _core in order to group all platform-specific code in one location. That is no longer an issue . _core is also no longer home to just the CoreLoop but the EventLoop and potentially soon the AudioLoop and NetLoop. We may even want to consider extensions further lower than soy._internals such as breaking the loops into their own extensions. 5 We originally put these classes in _core in order to group all platform-specific code in one location. That is no longer an issue 6 6 7 Consolidating all internal code into _internals makes a lot of sense, and this move would clear up the soy.Window vs soy._core.Window confusion. 7 Also, the idea of a single additional "CoreLoop" thread has proven to be disadvantageous, especially with Pyrex's new GIL support. We could attain a much higher fps, in addition to smaller compiled size and less code complexity, by splitting CoreLoop into RenderLoop, PhysicsLoop, etc which are run by their respective extensions (soy.windows, soy.scenes, etc). 8 9 Since everyone who has commented on this idea has agreed, including earlier talk of splitting physics and rendering for multi-core optimization, it's time to implement. 8 10 9 11 Thinking into the future, we should be trying to resolve these API choices now to stabilize for Beta-3+.