filmgröße & performance

... den Schuldigen? hmm: Intel, AMD, Macromedia, Bill Gates, Du selbst, die Technik des 21. Jahrhunderts oder vielleicht die Mozilla-Foundation? Such Dir jemanden aus. ^^
.
 
Der Schuldige, wie so oft in schlechten Krimis, ist nicht Bill, der blasse, bebrillte Butler, sondern eindeutig:
PHP:
_root.mainclip._x = Stage.width/2;
Denn ohne diese Zeile spielt alles feuerwehrmäßig im Originaltempo, ungeachtet aller sonstiger Dimensionen. The Downside: so klebt mein Content natürlich am linken Rand.

Will ich ihn mittig, muss ich meinen Film in Originalgröße (also 800x1200) und zentriert in eine HTML-Tabelle einbetten - auch da kein Performance-Verlust - dafür muss ich in dieser Variante auf den monitorweit gestreckten Hintergrund verzichten.

Moral: offenbar kann man nicht alles auf einmal haben. Oder gibt es noch einen Zentrierungs-Trick, der Euch dazu einfällt?
 
Hi,

hätte ich jetzt nicht gedacht - zumal diese Positionierung doch nur beim onRezize-Ereignis aufgerufen wird, das beim Verändern der Fenstergröße feuert. Beim Verschieben des mainclips kann es durchaus Verzögerungen geben, wenn sich darin der gesamte Inhalt abspielt. Schon mal probiert, das Ding auf ganzzahlige Pixelkoordinaten zu quantisieren?

Gruß

P.S. @ offtopic: Schick mir bitte nochmal den Link zu dem entsprechenden Thread, dann schau ich mir das Problem an. ;)
.
 
Jajaja eben, "nur beim Resize-Ereignis" heißt doch: erst einmal am Anfang beim Öffnen und dann nur, wenn man die Fenstergröße manuell verändert? Ich hab auch keinen zweiten Aufruf, alles ist im 1. Bild - sehr schleierhaft, warum sich das so auf die Performance schlägt. Auch wenn ich gar nix verschiebe und überhaupt nicht am Fenster rumfummle. Trotzdem, Tatsache, wenn man die eine Zeile rausnimmt, ist die Bremse weg.

"Quantisieren", du liebe Zeit, birgt das Geheimnisse, die ich nicht kenne? Falls Du damit meinst, dass mein MC einfach auf ganzahligen Koordinaten liegen soll, das tut er. Breite 750, Transformierungspunkt oben in der Mitte.

/offtopic: Ich weiss nicht, wie man zu einem anderen Beitrag hinlinkt, aber er hieß "Nummern zuordnen?" Und mir gehts einerseits um die Subnavigation und andererseits um die reizvolle Möglichkeit (wieder mal), die ganze Seite in die Breite zu strecken und damit den Textcontent optimal-ökonomisch dazustellen. Soll heißen, wenn man nicht
PHP:
nav._x = Stage.width-nav._width;
nimmt, sondern
PHP:
nav._width = Stage.width;
Und da ist mein Problem nur eines: dass sich die gestreckte Scroll-Leiste am rechten Rand leider auch in die Breite dehnt, was zwar nicht funktionsmäßig, aber ästhetisch einfach untragbar ist...

Liebe Grüße H.
 
Hi,

quantisieren könnte in diesem Fall z.B. so aussehen:
Code:
_root.mainclip._x = int(Stage.width / 2 - _root.mainclip._width / 2);
, wobei der Registrierungspunkt links oben liegen muss. Liegt er in der Mitte, so kann die absolute Position - in Abhängigkeit von der Gradzahligkeit der Breite - trotzdem auf einem nichtganzzahligen Wert liegen.

Ich denke zwar nicht unbedingt, dass das viel bringt, ratsam ist es oft schon alleine deswegen, weil andere pixelquantisierte Formen in diesem Fall nicht geglättet (und damit lesbarer) dargestellt werden. Probier einfach mal aus, ein Rechteck mit der Breite 1 Pixel einmal auf einem ganzzahligen und einmal auf einem Kommawert darzustellen, dann weißt Du, was ich meine. ;)

@anderes Thema: Ich suchs mal raus und schau, was sich machen lässt.

Gruß
.
 
Hallo,

nach meiner Erfahrung tut sich der Flash Player (egal welche Version ;) ) performance-mässig schwer mit swfs, die nicht in Original-Grösse abgespielt werden, sowie mit allen Bühnen-Skalierungs-Funktionen. Die unflexible Bühnen-Grösse ist halt einer der grossen Nachteile von Flash, das irgendwie mit Stage-Skalierungen abzufangen, endet meist in nem Krampf. Positionierungen empfehl ich dir in HTML vorzunehmen.
Ich musste aber mal für einen Auftrag eine Weiche basteln, die je nach Bildschirm-Grösse des Clients ein anderes swf-File lädt, ich kann sonst bei Bedarf mal in den Tiefen meiner Backups suchen gehen ;).
 
Also, ich hab das mal gemacht (ist es eigentlich egal, ob man "int" oder "Math.round" nimmt?), es hat sich am Tempo zwar nichts geändert :(, aber ich fühl mich trotzdem jetzt sicherer ;-). Phänomen dabei: in der Flash-Vorschau-Umgebung ist mein MC jetzt nicht mittig, sondern hängt so etwa im linken Drittel rum, während in der Browseransicht wieder alles mittig ist - vielleicht das entscheidende Indiz zur Diagnose?

/offtopic: Vielen Dank!

Duke: ja klar interessierts mich, obzwar ich mich schon freuen würde, wenn sich eine Möglichkeit auftäte, alles mit einer swf zu lösen, bei all den verschiedenen Monitorgrößen...

 
Hallo,

ich hab mal gesucht und gemerkt, dass ich das damals mit Java Script gelöst hatte. Ich empfehle dir aber die Verwendung der System.capabilities-Eigenschaften, mit denen kannst du die maximale Höhe bzw Breite des Client-Systems abfragen (nebst vielen andern nützlichen Eigenschaften, mehr dazu in deiner Flashhilfe ;)) und entsprechend weiterleiten, skalieren, wie auch immer.

Folgendes Script liest die Version des Client-Players, dessen Bildschirm-Höhe und Breite aus und gibt sie via trace zurück.

PHP:
var version = new String(System.capabilities.version);
version = version.charAt(4);

var bildschirmBreite = System.capabilities.screenResolutionX;
var bildschirmHöhe = System.capabilities.screenResolutionY;

trace ("Ihr Monitor arbeitet mit einer Auflösung von "+bildschirmBreite+"*"+bildschirmHöhe+". Sie haben den Macromedia Flash Player "+version+" installiert.");

Funktioniert ab dem Sechser

gruss
 
Zuletzt bearbeitet:
Ja, dankeschön, wahrscheinlich die Königsmethode, dachte ich mir auch schon vor längerer Zeit - und so elegant. Hatte dann aber Probleme mit dem Orten des ganz-obersten-ganz-linksten Punkts, und zwar nur im Xplorer. Da wußte ich allerdings auch noch nichts von diesem Teil:
PHP:
var version = new String(System.capabilities.version);
version = version.charAt(4);
Blöd gefragt, was ist denn das? Hilfts gegen den Xporer-Bug? Das wär toll.
 

Neue Beiträge

Zurück