Page 1 of 1

Panoramen Performance sinkt

Posted: Mon Sep 01, 2008 3:57 pm
by mike
Hallo,

ich habe das Problem, dass die Performance der Panoramen sinkt und sie immer langsamer werden, je öfter sie angeklickt wurden. Wird das vr Movieclip immer "voller"? Woran kann das liegen? Vielen Dank im Voraus!

Code: Select all

//FLASH 9, AS3:
import flash.display.*;
import flash.net.URLRequest;
import flash.events.Event;

loadPanorama("01-002m.swf",1);

/////////////////////////////////////////
// Load Panorama

function loadPanorama(swffile:String,id) {
	var loader:Loader;
	loader = new Loader();
	
	var url:String;
	url=swffile;
	var urlReq:URLRequest = new URLRequest(url);
	var vr:MovieClip;
	
	function finished_loading(e:Event) {		
	}
	
	function initHandler(event:Event):void {
		vr = MovieClip(loader.content);
		vr.pano.setWindowSize(930,465);
		vr.pano.setWindowPos(15,40);
	}
	
	loader.contentLoaderInfo.addEventListener(flash.events.Event.COMPLETE, finished_loading);
	loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);
	loader.load(urlReq);
	addChild(loader);
}



/////////////////////////////////////////
// Thumbs

panel.btn01.addEventListener(MouseEvent.CLICK, click01);
panel.btn02.addEventListener(MouseEvent.CLICK, click02);
panel.btn03.addEventListener(MouseEvent.CLICK, click03);

function click01(evt:MouseEvent):void {
	loadPanorama("01-002m.swf",1);
}

function click02(evt:MouseEvent):void {
     loadPanorama("01-015m.swf",2);
}

function click03(evt:MouseEvent):void {
     loadPanorama("01-017m.swf",3);
}

Re: Panoramen Performance sinkt

Posted: Mon Sep 01, 2008 5:55 pm
by thomas
Werden die Panoramen auch wieder freigegeben? Falls nur dieser code verwendet wird werde immer mehr Panos gleichzeitig geladen...

Re: Panoramen Performance sinkt

Posted: Tue Sep 02, 2008 9:35 am
by mike
Aha, danke! Dann hat sich der Verdacht bestätigt. Ich verwende nur diesen Code. Wie kann ich verhindern dass immer mehr Panos gleichzeitig geladen werden?

Re: Panoramen Performance sinkt

Posted: Tue Sep 02, 2008 10:52 pm
by thomas
Steht auf http://gardengnomesoftware.com/wiki/Pano2VR_-_Flash_API . Einfach z.B. in loadPanorama mit

Code: Select all

if (vr) {
  vr.pano.cleanup();
  removeChild(vr);
}
das alte Pano entfernen.

Re: Panoramen Performance sinkt

Posted: Tue Sep 16, 2008 1:42 pm
by Seimen
Hi,

wenn ich versuche, das Panorama über obigen code zu entfernen kommt folgende Fehlermeldung:

Code: Select all

ArgumentError: Error #2025: Das angegebene DisplayObject muss ein untergeordnetes Element des Aufrufers sein.
	at flash.display::DisplayObjectContainer/removeChild()
	at removeTest_fla::MainTimeline/test2()
	at Function/http://adobe.com/AS3/2006/builtin::apply()
	at <anonymous>()
	at SetIntervalTimer/onTimer()
	at flash.utils::Timer/_timerDispatch()
	at flash.utils::Timer/tick()
Was mache ich falsch ? :(


******* EDIT ********

habe das Problem gefunden: Es muss "removeChild(loader);" heißen :)

Grüße
Seimen

Re: Panoramen Performance sinkt

Posted: Tue Sep 16, 2008 2:22 pm
by Seimen
Aller dings löst das das Problem nicht :(

wenn ich viel zwischen den Panoramen wechsle wird der speicher immer voller und die anwendung immer langsamer!
liegt das daran, dass ich den "loader" und nicht "vr" remove ?

Grüße
Seimen

Re: Panoramen Performance sinkt

Posted: Tue Sep 16, 2008 7:18 pm
by thomas
Wahrscheinlich wird vr.pano.cleanup(); nicht aufgerufen, und dadurch bleibt das Pano im Speicher. Ich weis aber leider auch keine Lösung....

Re: Panoramen Performance sinkt

Posted: Wed Sep 17, 2008 7:22 pm
by Seimen
Doch, "vr.pano.cleanup();" wird ausgeführt. Denn wenn ich die beiden Befehle cleanup und removeChild etwas zeitversetzt aufrufe, bleibt das Panorama stehen, was wohl daran liegt, das der onEnterFrame-Listener entfernt wird.

Hast Du das schonmal so versucht und hat es funktioniert ? Wurde das Panorama komplett aus dem Speicher geworfen ?
Denn bei mir funktioniert ja schon der Befehl "removeChild(vr);" nicht. Vielleicht liegt das daran, dass es vorher garkein addChild(vr) gibt.

Ich steige gerade von AS2 auf AS3 um, und mit verwirren die DisplayList und der Garbage Collector, etc. noch etwas :?:

Mich interessiert vorallem ob es generell funktioniert und nur ich einen Fehler mache oder ob es an der panorama.swf liegt.

Grüße
Seimen

Re: Panoramen Performance sinkt

Posted: Tue Sep 23, 2008 11:50 am
by thomas
Seimen wrote:Hast Du das schonmal so versucht und hat es funktioniert ? Wurde das Panorama komplett aus dem Speicher geworfen ?
Ich hab es mal getestet und da hat es geklappt.

Re: Panoramen Performance sinkt

Posted: Fri Sep 26, 2008 6:37 pm
by Seimen
Kannst Du vielleicht die fla oder das genaue Script posten? Weil wenn ich es so wie in der API beschrieben mache, funktioniert es leider nicht.

Vielen Dank schon mal im Voraus!!
Grüße Seimen