2010-11-22 6 views
3

Eines der nervigsten Dinge bei der Arbeit mit Flash/Flex-Projekten ist, dass es so lange dauert, das Projekt zu erstellen. In einem Flash-Spiel, das ich mache, dauert es mehr als eine Minute, um es zu bauen ...Wie kann man die Erstellungszeit eines Flash-Projekts minimieren?

So ist die Frage einfach: Ist das normal? Mache ich etwas falsch? Gibt es eine Möglichkeit, dies zu minimieren?

+0

Ich glaube, dass FDT inkrementellen Bauprozess unterstützt, während Flash Builder nicht. Zumindest war es so vor ein paar "Jahren"; Ich weiß nicht, ob sich das geändert hat. – poke

+0

@Poke Adobe erstellt den Compiler und der Compiler hat ein Argument, um inkrementelle Builds zu unterstützen. Ohne dieses Compiler-Argument wäre FDT nicht in der Lage, diese Funktion anzubieten. Zu behaupten, dass es in FDT implementiert wurde, das sich auf den Adobe-Compiler stützt, aber keine Unterstützung in Flash Builder hat, ist lächerlich. Flash Builder unterstützt tatsächlich inkrementelle Builds. – JeffryHouser

Antwort

7

Eine übliche Methode zur Vermeidung langer Bauzeiten besteht darin, Ihr Projekt in mehrere Projekte aufzuteilen und sie als SWCs in einem Hauptprojekt zu referenzieren.

Tatsächlich werden die kürzeren Bauzeiten meist als positiver Nebeneffekt betrachtet, da jedes größere Projekt eigentlich in mehrere Projekte aufgeteilt werden sollte. In der Regel haben Sie mehr als ein Bibliotheksprojekt, das den Service Layer/Controller ect behandelt.

Auf diese Weise können Sie die Controller-/Spiellogik in ein Projekt verschieben. Dies hätte längere Intervalle zwischen den Änderungen und daher könnten Sie dieses Projekt schließen, indem Sie nur das Gebäude erstellen, in dem Sie gerade arbeiten.

Wenn Sie eine Menge von Assets aus Flash ect. verschiebe diese auch in eine SWC.

+0

Während dies wahr ist (und tatsächlich ist es die Art, wie ich mich selbst adoptiere), beachten Sie, dass es einen Nachteil gibt: Ändern Sie sogar eine einzelne Klasse in einem Bibliotheksprojekt, weil swf neu aufgebaut wird und andere Projekte davon abhängig sind neu erstellt. Daher kann die inkrementelle Kompilierung in diesem Szenario unterbrochen werden, da MXMLC und Flash Builder (noch) nicht intelligent genug sind, um projektübergreifende inkrementelle Builds zu unterstützen. Der ASC 2.0, der mit Flash Builder 4.7 ausgeliefert wird, unterstützt dies theoretisch, aber seine Verwendung ist auf reine AS3-Nicht-Flex-Projekte beschränkt, und ich bin nicht einmal sicher, ob FB diese erweiterte Compiler-Funktion tatsächlich verwendet. –

1

Ja, das ist normal. Es kann mehr dauern, wenn Ihre Projekte größer und größer werden. Ich habe ein Flex-Projekt, das eine vollständige Build (mit ANT nicht Flex Builder) dauert 4 Minuten.

Der beste Rat, den ich Ihnen zu diesem Thema geben kann, ist ein SSD-Laufwerk, ein auf meinem Mac installiertes SSD-Laufwerk verkürzt die Zeiten um mehr als 50%.

1

Ich habe festgestellt, dass die Einbettung von Assets dazu neigt, die Build-Zeiten erheblich zu verzögern. Es ist anfangs kaum wahrnehmbar, aber nach einer Weile beginnen sie sich zu stapeln und bauen Zeit.

Versuchen Sie vielleicht, das Einbetten von Assets so lange wie möglich zu verzögern.

5

Eine einfache Spitze, die etwas kürzere Zeit vom Flash-IDE macht kompilieren: Gehen Sie zu "veröffentlichen Einstellungen> Actionscript 3.0> Einstellungen> disable‚Warnungen Mode‘

Dieser Modus überprüft, ob Sie Actionscript 2.0-Funktionen verwenden . Wenn Sie wissen, was Sie tun (Kopieren und Einfügen von as2.0-Code in as3.0-Projekte), brauchen Sie diese Warnungen nie.

Ein weiterer Tipp ist es, viele SWCs zu verwenden: wenn Sie ein Tweenengine oder ein Framework verwenden; Die meisten davon sind als SWC-Dateien verfügbar. Benutze sie.

+2

DANKE.Das Ausschalten des 'Warnungsmodus' hat meine Kompilierzeit von 45 Sekunden auf 5 Sekunden reduziert, so dass meine Kompilierzeit jetzt 1/9 ist, was es war. Ich dachte, Klassen in eine separate SWC zu refaktorieren und sie zu referenzieren, würde meine Kompilierzeiten verkürzen, aber es scheint sie ein wenig erhöht zu haben. Das Deaktivieren des Warnmodus spart mir viel Zeit. – Triynko

+0

booyeah !!!! danke dafür – Daniel

+0

Wow. Vielen Dank! – opewix

Verwandte Themen