Our computer has been smoking dope. | Mike | HMC | Aardman

Our computer has a memory issue, we warned it that the use of psychoactive drugs would not come without consequence but in HMC our babies humanoid robots
computers are free to make their own decisions and sometimes they make the wrong ones.

Now, I am not about to blame our current difficulties on our tools babies computers, so I hereby present our current challenge and our experiments into solutions:

If you pre-render a 3D scene at a reasonable resolution you can save a lot of processing power, unfortunately (and there is probably a law in computer science for this) you trade it for memory consumption and we cannot store all the data required to pre-render the scene (2000+ images at ~2.5mb per image.)

The traditional solution to this problem is buffering - we only load images around the one we want to display; so, if this was a movie we would load some frames ahead and behind of the current one so that as the movie plays there are enough frames loaded to continue playing the film, while we load the ones further ahead in the background.

An initial experiment in processing revealed that it was quite easy to make a simple streaming program but there are two caveats:

  • moving the playhead to a random point in the film requires rebuffering (think about when you skip ahead in a youtube movie) so we can only buffer effectively when the playhead is predictable. In the case of our pre-rendered scene we have no idea where the person will want to look so we can't buffer effectively.
  • Images that are 2mb in size take approximately 80 seconds (!) to load on my machine, going back to the movie analogy, this means that the amount of buffering required to ensure that the next frame can be loaded in time is massive.

Our current experiments include using quicktime VR to display our pre-rendered scene in processing and using flash to see if the automagic memory handling for images loaded from the library is any better than the more explicit management in processing.

Tonight we will have a father son user/machine talk with our computer so that it can understand the errors of it's ways.

Gareth Williams - Interactive Developer


Comment

Return to Top