Howard Stearns wrote:
>Am I crazy, or is #driveStep being sent over the wire pretty much >as often as possible? Is that what we want? > >CroquetParticipant>>step => CroquetHarness>>step => >TAvatarUser>>updateUser => replica future driveStep. > >PLUS.... > >CroquetHarness>>renderWorld => TAvatarUser>>driveStep => replica >future driveStep. ... I've been re-reading some of the design papers for Teatime and the Hedgehog version of Croquet, and it seems to me that this second call to driveStep originating from the renderWorld method is in violation of the idea that rendering should not change the state of the replicated island. Isn't this a big no-no??? Although I'm sure that this smoothes out the avatar replica's motion, it also adds significantly to the network traffic and number of changes to the island, as Howard went on to explain. |
On Jan 30, 2007, at 7:17 PM, David Faught wrote: > Howard Stearns wrote: >> Am I crazy, or is #driveStep being sent over the wire pretty much >> >as often as > possible? Is that what we want? >> >> CroquetParticipant>>step => CroquetHarness>>step => >> >TAvatarUser>>updateUser > => replica future driveStep. >> >> PLUS.... >> >> CroquetHarness>>renderWorld => TAvatarUser>>driveStep => replica >> >future > driveStep. > > ... > > I've been re-reading some of the design papers for Teatime and the > Hedgehog > version of Croquet, and it seems to me that this second call to > driveStep > originating from the renderWorld method is in violation of the idea > that > rendering should not change the state of the replicated island. > Isn't this a > big no-no??? Nope. The 'avatar' referred to in #renderWorld is not the replicated avatar, it is a (subclass of) TAvatarUser, which implements #driveStep by sending a future message to the replicated avatar. Josh > > Although I'm sure that this smoothes out the avatar replica's > motion, it also > adds significantly to the network traffic and number of changes to > the island, > as Howard went on to explain. |
In reply to this post by David Faught
This does not effect the state of the world because it is a future send.
It has been removed in a later release (not sure if it is the Feb. 2 release or the next one after that.) David Faught wrote: > Howard Stearns wrote: > >> Am I crazy, or is #driveStep being sent over the wire pretty much >as often as >> > possible? Is that what we want? > >> CroquetParticipant>>step => CroquetHarness>>step => >TAvatarUser>>updateUser >> > => replica future driveStep. > >> PLUS.... >> >> CroquetHarness>>renderWorld => TAvatarUser>>driveStep => replica >future >> > driveStep. > > ... > > I've been re-reading some of the design papers for Teatime and the Hedgehog > version of Croquet, and it seems to me that this second call to driveStep > originating from the renderWorld method is in violation of the idea that > rendering should not change the state of the replicated island. Isn't this a > big no-no??? > > Although I'm sure that this smoothes out the avatar replica's motion, it also > adds significantly to the network traffic and number of changes to the island, > as Howard went on to explain. > |
In reply to this post by David Faught
In the original theory and my implementation (which was dropped from
Hedgehog), each replica would drive itself with messages NEVER being sent over the network except when the state of an input device changed. I would call this a serious design misunderstanding - but you guys wrote this code. There isn't a line of code from me left. David Faught wrote: > Howard Stearns wrote: > >> Am I crazy, or is #driveStep being sent over the wire pretty much >as often as >> > possible? Is that what we want? > >> CroquetParticipant>>step => CroquetHarness>>step => >TAvatarUser>>updateUser >> > => replica future driveStep. > >> PLUS.... >> >> CroquetHarness>>renderWorld => TAvatarUser>>driveStep => replica >future >> > driveStep. > > ... > > I've been re-reading some of the design papers for Teatime and the Hedgehog > version of Croquet, and it seems to me that this second call to driveStep > originating from the renderWorld method is in violation of the idea that > rendering should not change the state of the replicated island. Isn't this a > big no-no??? > > Although I'm sure that this smoothes out the avatar replica's motion, it also > adds significantly to the network traffic and number of changes to the island, > as Howard went on to explain. > > > |
Free forum by Nabble | Edit this page |