do try branches version for 0 cpu cost when nothing move(dirty)
http://away3d.googlecode.com/svn/branches/lite

for sample (hold mouse still for 0 cpu cost, and move to see the diff)
http://away3d.googlecode.com/svn/branches/lite/bin/ExMQO.swf

hth

On 8 August 2010 20:37, metSyS <[email protected]> wrote:

> I wrote 2 swfs, first is based on Away3D, the secon on Lite version.
> First application use CPU only ven I hover my camera, when camera
> doesn't hover CPU doesn't using, the second use CPU really less then
> first application, but, when I don't hover the camera it continue use
> CPU? what am i do wrong?
>
> this is the source of lite version:
> public function Map_Ukraine_Vector()
>                {
>                        init();
>                        listeners();
>                }
>
>                private function init():void
>                {
>                        scene=new Scene3D();
>
>                        cam=new HoverCamera3D();
>
>                        view=new View3D();
>                        view.x=stage.stageWidth/2;
>                        view.y=stage.stageHeight/2;
>                        view.camera=cam;
>                        view.scene=scene;
>
>                        cam.distance=CAM_DISTANCE;
>                        cam.focus=100;
>
>                        addChild(view);
>                        setChildIndex(view, 0);
>
>                        txt.selectable=false;
>                        addChild(txt);
>                }
>
>                private function listeners():void
>                {
>                        xml.addEventListener(Event.COMPLETE, onXMLLoaded);
>                        addEventListener(Event.ENTER_FRAME, onEnterFrame);
>                }
>
>                private function onXMLLoaded(e:Event):void
>                {
>                        var loader:Loader=new Loader();
>                        loader.load(new URLRequest(xml.picUkraine));
>
>  loader.contentLoaderInfo.addEventListener(Event.COMPLETE,
> createMap);
>                }
>
>                private function createMap(e:Event):void
>                {
>                        e.target.removeEventListener(Event.COMPLETE,
> createMap);
>                        cityPropArray=xml.cityPA;
>
>                        mapUkraine=new Sphere();
>                        mapUkraine.segmentsH=25;
>                        mapUkraine.segmentsW=25;
>                        mapUkraine.radius=RADIUS;
>                        mapUkraine.bothsides=false;
>                        var m:BitmapMaterial=new
> BitmapMaterial(Cast.bitmap(e.target.content));
>                        m.smooth=true;
>                        m.repeat=false;
>                        m.debug=false;
>                        mapUkraine.sortFaces=false;
>                        mapUkraine.material=m;
>
>                        mapUkraine.useHandCursor=false;
>
>                        world.addChild(mapUkraine);
>
>                        var ar2:Array=new Array();
>                        var color:ColorMaterial=new ColorMaterial();
>                        color.color=0x000000;
>                        for (; counter<25; counter++)
>                        {
>                                oblGroup[counter]=new ObjectContainer3D();
>                                world.addChild(oblGroup[counter]);
>
>                                var ar:Array=new Array();
>                                for (var i:int=0;
> i<cityPropArray[counter].length; i++)
>                                {
>                                        ar[i]=new Cone();
>                                        ar[i].height=CITY_HEIGHT;
>                                        ar[i].radius=CITY_RADIUS;
>                                        ar[i].segmentsH=1;
>                                        ar[i].segmentsW=3;
>                                        ar[i].visible=true;
>                                        ar[i].useHandCursor=true;
>                                        ar[i].material=color;
>                                        ar[i].openEnded=false;
>
>
>  ar[i].rotationY=parseFloat(cityPropArray[counter][i][0][0]
> [0].cityY);
>
>  ar[i].rotationX=-parseFloat(cityPropArray[counter][i][0][0]
> [0].cityX)+90;
>
>
>  arPosition=rotPoint.returnPosition(RADIUS+ar[i].height/2,
> ar[i].rotationX-90, ar[i].rotationY,
>
>                                       mapUkraine.x, mapUkraine.y,
> mapUkraine.z);
>                                        ar[i].x=arPosition[0].x;
>                                        ar[i].y=arPosition[0].y;
>                                        ar[i].z=arPosition[0].z;
>
>                                        oblGroup[counter].addChild(ar[i]);
>
>  oblGroup[counter].addEventListener(MouseEvent3D.MOUSE_OVER,
> mouseOverObl);
>
>  oblGroup[counter].addEventListener(MouseEvent3D.MOUSE_OUT,
> mouseOutObl);
>
>  oblGroup[counter].addEventListener(MouseEvent3D.MOUSE_DOWN,
> mouseDownObl);
>
>                                        var
> s:String=cityPropArray[counter][0][0][0][0].oblName+" -
> "+cityPropArray[counter][i][0][0][0].cityName;
>                                        ar2.push(({lbl:s, oblNum:counter,
> cityNum:i}));
>                                }
>                        }
>
>                        ar2.sortOn("lbl");
>                        for (var h:int=0; h<ar2.length; h++)
>                        {
>
>  cityPropArray[ar2[h].oblNum][ar2[h].cityNum][0][0][0].cityID=h;
>                        }
>
>                        view.scene.addChild(world);
>                }
>
> .................
>
>
> private function onEnterFrame(e:Event):void
>                {
>
>  cam.panAngle=-((mouseX-(stage.stageWidth/2))*0.07)+1;
>
>  cam.tiltAngle=-((mouseY-(stage.stageHeight/2))*0.01);
>
>                        cam.hover();
>                        view.render();
>                }




-- 
Regards
-----------------------------------------------------------
Todsaporn Banjerdkit, katopz, http://sleepydesign.com
Away3DLite and JigLibFlash Developer Team

Reply via email to