I read some informartion about this engine... Maybe I can remake my
project with away3dlite. I'll try this... Thanks...

On 12 июл, 18:21, Peter Kapelyan <[email protected]> wrote:
> Away3DLite is a faster and smaller version of the regular Away3D library. It
> may be able to do everything you need, if your project is simple.
>
> So, if it can do everything your project needs, you should use it instead.
> If it can't do what you need (features etc), then you can't use it :)
>
> -Peter
>
>
>
>
>
> On Mon, Jul 12, 2010 at 10:06 AM, Crabar <[email protected]> wrote:
> > Sorry, but i don't know difference between Lite or not Lite. There is
> > Lite is faster, but... has smaller functionality? Or only faster, and
> > hasn't disadvantages?
>
> > On 12 июл, 16:54, Peter Kapelyan <[email protected]> wrote:
> > > 2500 at one time is still really "pushing" it. Maybe try Away3Dlite?
>
> > > -Pete
>
> > > On Mon, Jul 12, 2010 at 9:30 AM, Crabar <[email protected]> wrote:
> > > > AwayStats show "30000 polygons". I think it mean "faces".
> > > > Scene is big and in one moment camera sees no more then 2500.
>
> > > > On 12 июл, 16:22, Michael Iv <[email protected]> wrote:
> > > > > 30000 polygons or triangles? Anyhow this is too much Man... You must
> > > > reduce
> > > > > it
>
> > > > > On Mon, Jul 12, 2010 at 4:16 PM, Crabar <[email protected]> wrote:
> > > > > > Hello, developers!
>
> > > > > > I have a problem with a performance of own scene.
> > > > > > I try to build about 10 000 objects on scene with away3d. Now i
> > have
> > > > > > over 30 000 polygons, a visible at once is about 500-2000. It
> > required
> > > > > > ~230 mb of RAM (Internet Explorer, AwayStats shows ~160 mb) and
> > have
> > > > > > 5-10 fps while camera is moving. It's to much RAM is using and to
> > low
> > > > > > fps rate to me. I would be pleased for help in optimization of my
> > > > > > engine and for some advices about optimization tricks. As well I
> > would
> > > > > > be pleased for pointing out my mistakes.
>
> > > > > > There are some screens:
> > > > > >http://imageshost.ru/photo/74374/id21221.html
> > > > > >http://imageshost.ru/photo/80867/id21220.html
>
> > > > > > I'm using Rectangle Clipping, obectCulling = true, Renderer =
> > BASIC.
> > > > > > Material is ShadingColorMAterial with one light source.
> > > > > > I think about using LODObject, but it probably will be used more
> > RAM
> > > > > > or not?
>
> > > > > > To limit the range of visibility i'm using following event code (on
> > > > > > move):
>
> > > > > >                public function onMove(e:KSEvents):void
> > > > > >                {
> > > > > >                        for each (var Obj3D:Object3D in
> > > > > > baseAway.view.scene.children)
> > > > > >                        {
> > > > > >                                if
> > > > > > (baseCamera.position.distance(Obj3D.position)>DistanceOfView)
> > > > > >                                {
> > > > > >                                        Obj3D.visible = false;
> > > > > >                                }
> > > > > >                                else
> > > > > >                                {
> > > > > >                                        Obj3D.visible = true;
> > > > > >                                }
> > > > > >                        }
> > > > > >                }
>
> > > > > > Creating view code:
>
> > > > > > <?xml version="1.0" encoding="utf-8"?>
> > > > > > <mx:UIComponent xmlns:mx="http://www.adobe.com/2006/mxml";
> > width="100%"
> > > > > > height="100%">
> > > > > >        <mx:Script>
> > > > > >                <![CDATA[
> > > > > >                        import away3d.containers.Scene3D;
> > > > > >                        import away3d.containers.View3D;
> > > > > >                        import away3d.core.clip.FrustumClipping;
> > > > > >                        import away3d.core.clip.RectangleClipping;
> > > > > >                        import away3d.core.render.*;
>
> > > > > >                        public var view:View3D;
> > > > > >                        public var scene:Scene3D;
>
> > > > > >                        override protected function
> > > > createChildren():void
> > > > > >                        {
> > > > > >                                super.createChildren();
> > > > > >                                scene = new Scene3D();
> > > > > >                                view = new View3D();
> > > > > >                                view.scene = scene;
> > > > > >                                view.renderer = Renderer.BASIC;
> > > > > >                                addChild(view);
>
> > > >  view.addEventListener(Event.ADDED_TO_STAGE,
> > > > > > update); // Make sure
> > > > > > the first frame is rendered
> > > > > >                        }
>
> > > > > >                        override protected function
> > > > > > updateDisplayList(unscaledWidth:Number,
> > > > > > unscaledHeight:Number):void
> > > > > >                        {
>
> >  super.updateDisplayList(unscaledWidth,
> > > > > > unscaledHeight);
> > > > > >                                update();
> > > > > >                        }
> > > > > >                        private function update(e:* = null):void
> > > > > >                        {
> > > > > >                                if(view.stage){
> > > > > >                                        view.x = unscaledWidth/2;
> > > > > >                                        view.y = unscaledHeight/2;
> > > > > >                                        view.clipping = new
> > > > > > RectangleClipping({minX:-unscaledWidth/
>
> > 2,minY:-unscaledHeight/2,maxX:unscaledWidth/2,maxY:unscaledHeight/2});
> > > > > >                                        view.clipping.objectCulling
> > =
> > > > true;
> > > > > >                                        view.render();
> > > > > >                                }
> > > > > >                        }
> > > > > >                ]]>
> > > > > >        </mx:Script>
> > > > > > </mx:UIComponent>
>
> > > > > > Some code of class my object's class:
>
> > > > > >        public class Tube extends KSMesh
> > > > > >        {
> > > > > >        ...
>
> > > > > > Building faces:
>
> > > > > >                for (var i:int = 0; i< (VertexArray[j] as
> > > > > > Vector.<Vertex>).length-1;
> > > > > > i++)
> > > > > >                {
> > > > > >                        // first triangle of quad
> > > > > >                        var FirstFace:Face = new Face();
> > > > > >                        FirstFace.v0 = (VertexArray[j] as
> > > > > > Vector.<Vertex>)[i];
> > > > > >                        FirstFace.v1 = (VertexArray[j] as
> > > > > > Vector.<Vertex>)[i+1];
> > > > > >                        FirstFace.v2 = (VertexArray[j+1] as
> > > > > > Vector.<Vertex>)[i];
> > > > > >                        this.addFace(FirstFace);
> > > > > >                        FirstFace = null;
> > > > > >                        // second triangle of quad
> > > > > >                        var SecondFace:Face = new Face();
> > > > > >                        SecondFace.v0 = (VertexArray[j] as
> > > > > > Vector.<Vertex>)[i+1];
> > > > > >                        SecondFace.v1 = (VertexArray[j+1] as
> > > > > > Vector.<Vertex>)[i+1];
> > > > > >                        SecondFace.v2 = (VertexArray[j+1] as
> > > > > > Vector.<Vertex>)[i];
> > > > > >                        this.addFace(SecondFace);
> > > > > >                        SecondFace = null;
> > > > > >                }
> > > > > >                ...
>
> > > > > > constructor
>
> > > > > >                public function Tube(Points:Vector.<Number3D>,
> > > > > > Radius:Number,
> > > > > > PipeKey:Number)
> > > > > >                {
> > > > > >                        super(null);
> > > > > >                        this.diameter = Radius*2;
> > > > > >                        this.ObjKey = PipeKey;
>
> > > > > >                        var ComplexPoints:Array = new Array;
> > > > > >                        var TwoDots:Array = new Array();
>
> > > > > >                        for (var i:int = 0; i<Points.length-1; i++)
> > > > > >                        {
> > > > > >                                //
> > > > > >                                TwoDots = GetFanCoords(Points[i],
> > > > > > Points[i+1], 4, Radius);
> > > > > >                                ComplexPoints[ComplexPoints.length]
> > =
> > > > > > TwoDots[0];
> > > > > >                                ComplexPoints[ComplexPoints.length]
> > =
> > > > > > TwoDots[1];
> > > > > >                        }
>
> > > > > >                        //
> > > > > >                        BuildFaces(ComplexPoints);
> > > > > >                        //
> > > > > >                        this.centerPivot();
> > > > > >                        this.material = new
> > > > ShadingColorMaterial(0x555555);
> > > > > >                        this.invertFaces();
> > > > > >                        this.bothsides = true;
> > > > > >                        // welding
> > > > > >                        var weld:Weld = new Weld(false);
> > > > > >                        weld.apply(this);
> > > > > >                        //
> > > > > >                        weld = null;
> > > > > >                        TwoDots = null;
> > > > > >                        ComplexPoints = null;
> > > > > >                }
>
> > > > > > Tnx for help.
>
> > > > > --
> > > > > Michael Ivanov ,Programmer
> > > > > Neurotech Solutions Ltd.
> > > > > Flex|Air
> > > > |3D|Unity|www.neurotechresearch.comhttp://blog.alladvanced.nethttp://
> > > >www.meetup.com/GO3D-Games-Opensource-3D/
> > > > > Tel:054-4962254
> > > > > [email protected]
> > > > > [email protected]
>
> > > --
> > > ___________________
>
> > > Actionscript 3.0 Flash 3D Graphics Engine
>
> > > HTTP://AWAY3D.COM
>
> --
> ___________________
>
> Actionscript 3.0 Flash 3D Graphics Engine
>
> HTTP://AWAY3D.COM

Reply via email to