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

Reply via email to