Of course! I don't think anyone would NOT want away3D to be faster and
smarter for their use.

If you find anything I'm sure all of us would be interested, especially if
it's worth adding to the engine!

Best of luck with your test.

-Pete

On Mon, Jan 26, 2009 at 5:38 PM, simplychaos <[email protected]> wrote:

>
> From some rough timings inserted into Scene3D and View3D, it appears
> to spend significantly more time updating the scene than it does
> rendering. Usually about 3 to 4 times as much to update scene as to
> render, and I'm not using an enormous number of faces. Seems like we
> could really see a boost from this! I'm sure a lot of that time is
> burned up iterating through faces, segments, etc... I'm starting to
> look through and see what all is being done now. If the Away3D team
> doesn't want to implement this, any chance you'd accept a patch if I'm
> able to make it work?
>
> On Jan 26, 2:05 pm, simplychaos <[email protected]> wrote:
> > I was wondering if there are any plans to use linked lists for
> > iterating through all the various meshes, primitives, lights, etc... ?
> > It seems like Dictionary is used for everything, but according to my
> > speed tests linked lists are quite a bit faster. I'm not sure how much
> > of a boost it would really give but for 5,000,000 iterations here are
> > my numbers:
> >
> > linked list: 37ms
> > for loop: 67ms
> > dictionary: 179ms
> > while:  38ms
> >
> > Here's the iteration code I'm using: The array, linked list, and
> > dictionary are already built before timing. obj is a typed variable
> > that has a "nxt" variable to point to the next object in the list.
> > These numbers are from FP10 release version; numbers are similar with
> > debug version, but all slightly slower.
> >
> >                         var time:uint = getTimer();
> >                         for (i=0; i < len; ++i) {
> >                                 obj = list[i];
> >                         }
> >                         time = getTimer() - time;
> >                         trace("for loop: " + time);
> >                         debugText.appendText("for loop: " + time + "\n");
> >
> >                         time = getTimer();
> >                         obj = list[0];
> >                         var val:Number = 0;
> >                         while (obj = obj.nxt) { }
> >
> >                         time = getTimer() - time;
> >                         trace("linked list: " + time);
> >                         debugText.appendText("linked list: " + time +
> "\n");
> >
> >                         time = getTimer();
> >                         for each (obj in dict) {
> >
> >                         }
> >                         time = getTimer() - time;
> >                         trace("dictionary: " + time);
> >                         debugText.appendText("dictionary: " + time +
> "\n");
> >
> >                         time = getTimer();
> >                         i = 5000000;
> >                         while (i--) {
> >                                 obj = list[i];
> >                         }
> >                         time = getTimer() - time;
> >                         debugText.appendText("while: " + time + "\n");
> >
> > This may not have a huge impact, but I thought I'd throw it out there.
>



-- 
___________________

Actionscript 3.0 Flash 3D Graphics Engine

HTTP://AWAY3D.COM

Reply via email to