Re: Software Architecture/Design
Richard Fabian <[email protected]>
| Newsgroups | gmane.games.devel.sweng |
|---|---|
| Message-ID | <[email protected]> |
I'd be scared that this would suffer the same problems as C++ virtual populated code. Even though you think you're stream processing, you're not, you're processing a stream of heterogeneous data, using different instruction sets for each "keyword" you come across. If you replace your keyword with the vtable pointer, you're basically going back to the old and quite I cache unfriendly way of approaching this stuff. In my opinioon, stream processing is not about processing streams with on demand instruction mapping, it's about processing streams, with unified functions, but producing control flow in other ways. The existence based processing approach handles all your problems of virtual table style polymorphism. You don't need to do a per element "what's my type, lookup the code" process. If you do, you've broken a major point of putting your components in their own containers. On 3 June 2010 16:36, Megan Fox <[email protected]> wrote: > ... to that end, what do the internals of your GameState, for > instance, look like? In my case it's an entity, but I'm still left > with a lot of components/whatever that want to read, modify and store > data on a stream in an extremely opaque fashion without ever caring > what other data is on that stream, if the data member was already > defined, etc. That in turn leaves me with some kind of map that I'm > indexing via strings, or via ASCII->int identifiers like > {'P','o','s'}, or something similarly ugly that is either terrible for > performance, or usability, or both. > > Does there exist a structure that deals with this? Or is everyone > just throwing their data into a hashmap, keeping their strings to a > reasonable length, and balancing collisions vs wasted memory/resize > costs/etc? > > (in my case I'd also want to load it down with some kind of stream > merger, which in turn had some concept of priority, so that for > instance physics stream writes to Pos override most other attempted > changes of that value, etc, but that's likely immaterial and easy once > I have a decent base structure) > > -- > Megan Fox > > -- fabs(); Just because the world is full of people that think just like you, doesn't mean the other ones can't be right. _______________________________________________ Sweng-Gamedev mailing list [email protected] http://lists.midnightryder.com/listinfo.cgi/sweng-gamedev-midnightryder.com