Einige werden es gestern im Chat evtl. schon mitbekommen haben, dass ich mich tierisch über die Performence von großen Bildern und SVG-Dateien in Firefox (1.5) aufgeregt habe.
Für die die es noch nicht kennen: http://www.4games.de/design/
Das ganze Ding soll mal eine AJAX-Oberfläche für ein BG werden, wobei ich mich aktuell nur auf das Design und die Oberflächensteuerung konzentriere. Das große Gitter soll ein Karte "simulieren" und hier habe ich gestern einige Varianten ausprobiert um eine Ressourcengünstige Variante zu finden.. vor allem kleine Datei (wenig Ladezeit).
Das ganze Design sollte auf FF abgestimmt sein (wobei Opera da auch keine Probleme machte). Bisher bestand das Design aus transparenten PNGs um "Glas"-Effekte zu simuleren und um bei transpartenen Bildern nicht auf Farben verzichten zu müssen.
Die Karte in der Mitte war mal eine 187kb grosse PNG-Datei welche eindeutig zu gross war. Weiters Problem, das ausfahrbare Menü kam leicht ins Stocken (war langsamer). GIF/PNG8 waren zu abgehackt und bei den Kurven kamen die Treppeneffekte zum Vorschein.
Ich habe mich dann an ein SVG-Script gemacht welche das Kartensystem ersetzen sollte. Doch bereits bei 20 Elementen wurde die Performence so abgebremst, dass das Menü nur noch sehr langsam verarbeitet wurde.
Ich habe mich jetzt nochmal an die Sache gemacht weil mir das keine Ruhe liess und habe kleineren Mapgrafiken und Dateitypen (GIF, JPEG, ..) ausprobiert. Durch einen Fehler - ich habe nicht das Kartenbild sondern das Footer-Bildchen editiert - kam ich dann offenbar auf das Problem was durch eine weitere Änderung auch bestätigt wurde.
Ich habe das halb-transparente Content-Hintergrundbild durch ein "festes" Bild geändert und siehe da.. schon lief das Menü wieder flüssig.
===
So warum die ganze Geschichte...
Ich finde es schon etwas bestürzend welche Rechenkapazitäten ein einfaches transpartenes PNG-Bild in Firefox schluckt. Schon das kleine Fussleistenbildchen hat einen enormen Schub gebracht und das find ich irgendwo auch ziehmlich erschreckend.
Ich wollte einmal rumfragen was ihr hier für Erfahrungen gemacht habt bzw. ich möchte euch auch gleich einmal warnen.. Also zumindest aktuell (Version 1.5) ist FF defenitiv nicht in der Lage (halb-)transparente PNGs in größeren Mengen/Grössen darzustellen. Und da selbst ein einzelnes Bild ein spürbaren Unterschied gebracht hat scheint das mehr als nur ein kleines Problem bei FF zu sein.
Browserperformence
gepostet vor 18 Jahre, 10 Monate von Mudder
gepostet vor 18 Jahre, 10 Monate von BjoernLilleike
Halbtransparente Bilder sind grundsätzlich ein übler Ressourcenfresser, selbst mit optimierten 3D-Grafikengines versucht man in der Regel, drum herum zu kommen.
Echte Masken (sprich 100% transparent) sind nicht so problematisch, helfen dir bei deinem Glaseffekt allerdings nicht weiter.
Vielleicht wäre es schlau, den Glaseffekt direkt in die darunter liegenden Grafiken reinzurechnen (sie sind ja wohl immer hinter Glas) statt ihn als Layer im Client zu simulieren.
Echte Masken (sprich 100% transparent) sind nicht so problematisch, helfen dir bei deinem Glaseffekt allerdings nicht weiter.
Vielleicht wäre es schlau, den Glaseffekt direkt in die darunter liegenden Grafiken reinzurechnen (sie sind ja wohl immer hinter Glas) statt ihn als Layer im Client zu simulieren.
gepostet vor 18 Jahre, 10 Monate von Mudder
Ja das werd ich jetzt auch machen..
Also ein "festes" Design verwenden und halbtransparente Overlayer-Grafiken in 50/50-Gifs umwandeln.
Ich wollte es nur eben flexibel haben um Grafiken schnell austauschen zu können.
Aber auch wenn es schon immer ein Problem war, so sollte man hier doch mal neue Algorythmen entwickeln. Da wird stehtig an dem perfekten Wellengangs-Algorythmus gewerkelt und sowas "einfaches" wie ne Halbtransparenz verbraucht weiterhin massenhast Ressourcen ( Sowas erklärt dann auch die Irrsinnigen Hardwareanforderungen von Vista und wiso sich IE6 träubt die halbtranspartenen PNGs einzuführen. )
Nichtsdestotrotz finde ich die Einstellung von Mozilla hier aber doch etwas falsch. Sie loben sich mit opacity-Funktionen und der Browser ist damit total überlastet. W3C will die Dinger Standardmässig einführen aber solang die Browser nicht nen DirectX-Anschluss oder so erhalten wird das alles nichts taugen weil mans zumindest in Verbindung mit JS nicht verwenden kann.
Also ein "festes" Design verwenden und halbtransparente Overlayer-Grafiken in 50/50-Gifs umwandeln.
Ich wollte es nur eben flexibel haben um Grafiken schnell austauschen zu können.
Aber auch wenn es schon immer ein Problem war, so sollte man hier doch mal neue Algorythmen entwickeln. Da wird stehtig an dem perfekten Wellengangs-Algorythmus gewerkelt und sowas "einfaches" wie ne Halbtransparenz verbraucht weiterhin massenhast Ressourcen ( Sowas erklärt dann auch die Irrsinnigen Hardwareanforderungen von Vista und wiso sich IE6 träubt die halbtranspartenen PNGs einzuführen. )
Nichtsdestotrotz finde ich die Einstellung von Mozilla hier aber doch etwas falsch. Sie loben sich mit opacity-Funktionen und der Browser ist damit total überlastet. W3C will die Dinger Standardmässig einführen aber solang die Browser nicht nen DirectX-Anschluss oder so erhalten wird das alles nichts taugen weil mans zumindest in Verbindung mit JS nicht verwenden kann.
gepostet vor 18 Jahre, 10 Monate von Skyrunner
Ich kann nur bestätigen, dass der Firefox beim darstellen vieler Grafiken (in meinem Fall 81 transparente Gifs wobei transparenter Teil und farbiger Teil in etwa gleich groß sind) extrem in die Knie geht. Die Einblendung erfolgt bei mir über 81 div Layer. Extrem merkt man das beim Resizen der Fenster... ganz übel ^^.
Zu meiner Verwunderung läuft genau diese HTML Seite im IE6 viel schneller. Ich kann mir das im Moment nicht erklären und kann nur hoffen, dass man das Problem im Firefox hoffentlich bald abstellt, ansonsten optimiere ich demnächst hauptsächlich für Internet Explorer
Christoph
Zu meiner Verwunderung läuft genau diese HTML Seite im IE6 viel schneller. Ich kann mir das im Moment nicht erklären und kann nur hoffen, dass man das Problem im Firefox hoffentlich bald abstellt, ansonsten optimiere ich demnächst hauptsächlich für Internet Explorer
Christoph
gepostet vor 18 Jahre, 10 Monate von Kampfhoernchen
Die Gecko-Engine von Mozilla ist veraltet und hat eigentlich auch kaum noch Potzenziale. Selbst die XHTML-Unterstützung wurde nur "reingeflickt".
Mehr Potenziale seh ich da beim Internet Explorer, der IE7 wird wohl die Darstellungsprobleme des IE6 beheben, performancemäßig ist der IE (kein Scherz) sowieso der schnellste Browser.
Aber auch die Opera-Engine (deren Namen ich mir nie merken kann) ist recht schnell, allerdings arbeitet die Javascript-Verarbeitung manchmal etwas anders.
Mehr Potenziale seh ich da beim Internet Explorer, der IE7 wird wohl die Darstellungsprobleme des IE6 beheben, performancemäßig ist der IE (kein Scherz) sowieso der schnellste Browser.
Aber auch die Opera-Engine (deren Namen ich mir nie merken kann) ist recht schnell, allerdings arbeitet die Javascript-Verarbeitung manchmal etwas anders.
gepostet vor 18 Jahre, 10 Monate von TheUndeadable
> Die Gecko-Engine von Mozilla ist veraltet
Wurde Gecko nicht mit 1.5 vollkommen neu geschrieben? Aber langsam ist sie trotzdem. Es sieht auch momentan nicht danach aus, also ob sich dort noch viel ändert. Ich habe das Gefühl, dass sich FF auf dem aktuellen Erfolg ausruht.
Zum IE6 und Transparenzen:
Der IE arbeitet mit einer einfachen Schwarz-Weiß-XOR-Maske. Daher ist er nicht in der Lage transparente Bilder darzustellen. Dies ist eine prinzipielles Konzept-Problem und hat nichts damit zu tun, dass MS PNG boykottiert hatte. Der IE 7 erhält eine leicht geänderte Rendering-Engine, die auch Transparenzen ordentlich bauen kann.
Mein Favorit ist momentan allerdings Opera.
> Zu meiner Verwunderung läuft genau diese HTML Seite im IE6 viel schneller.
Zu meiner nicht ;-) Als der IE 6 rauskam, saßen noch viele Programmierer dahinter um den Netscape den Todesstoß zu versetzen. Leider wurde das Team nach der Veröffentlichung aufgelöst.
Wurde Gecko nicht mit 1.5 vollkommen neu geschrieben? Aber langsam ist sie trotzdem. Es sieht auch momentan nicht danach aus, also ob sich dort noch viel ändert. Ich habe das Gefühl, dass sich FF auf dem aktuellen Erfolg ausruht.
Zum IE6 und Transparenzen:
Der IE arbeitet mit einer einfachen Schwarz-Weiß-XOR-Maske. Daher ist er nicht in der Lage transparente Bilder darzustellen. Dies ist eine prinzipielles Konzept-Problem und hat nichts damit zu tun, dass MS PNG boykottiert hatte. Der IE 7 erhält eine leicht geänderte Rendering-Engine, die auch Transparenzen ordentlich bauen kann.
Mein Favorit ist momentan allerdings Opera.
> Zu meiner Verwunderung läuft genau diese HTML Seite im IE6 viel schneller.
Zu meiner nicht ;-) Als der IE 6 rauskam, saßen noch viele Programmierer dahinter um den Netscape den Todesstoß zu versetzen. Leider wurde das Team nach der Veröffentlichung aufgelöst.
gepostet vor 18 Jahre, 10 Monate von Mudder
Das schöne an Firefox ist ja die Vielfälltigkeit.
Er unterstützt nahezu alles und was er nicht unterstützt oder was man ändern will, dass kann man mal eben als Erweiterung runterladen.
Was die Zukunftspläne von FF angeht da gibts bei golem.de ja ein guten Beitrag: http://golem.de/0512/42318.html
Opera mag von der Rendering-Engine zwar ganz gut sein (die Performence mit der Seite war ja nen deutlicher Unterschied), aber das Ding ist mir zu tröge.
Gibts nur in Englisch, dann gibts (zumindest für mich als Laien) keine Erweiterungen wo man das Ding bischel anpassen kann und auch sonst finde ich ihn einfach unkomfortabel. (Ok besser als der einfache IE ist er allemale.)
Im Grunde müsst man so IE-Tab-Browser wie z.B. Crazybrowser. Da hast dann wenigstens die IE-Allgemeinheit mit nem Tabsystem kombiniert.
Er unterstützt nahezu alles und was er nicht unterstützt oder was man ändern will, dass kann man mal eben als Erweiterung runterladen.
Was die Zukunftspläne von FF angeht da gibts bei golem.de ja ein guten Beitrag: http://golem.de/0512/42318.html
Opera mag von der Rendering-Engine zwar ganz gut sein (die Performence mit der Seite war ja nen deutlicher Unterschied), aber das Ding ist mir zu tröge.
Gibts nur in Englisch, dann gibts (zumindest für mich als Laien) keine Erweiterungen wo man das Ding bischel anpassen kann und auch sonst finde ich ihn einfach unkomfortabel. (Ok besser als der einfache IE ist er allemale.)
Im Grunde müsst man so IE-Tab-Browser wie z.B. Crazybrowser. Da hast dann wenigstens die IE-Allgemeinheit mit nem Tabsystem kombiniert.
gepostet vor 18 Jahre, 10 Monate von Kampfhoernchen
Original von Mudder
Gibts nur in Englisch, dann gibts (zumindest für mich als Laien) keine Erweiterungen wo man das Ding bischel anpassen kann und auch sonst finde ich ihn einfach unkomfortabel. (Ok besser als der einfache IE ist er allemale.)
Gibts auch auf Deutsch. Ich jedenfalls hab ihn auf allen mir bekannten Rechner auf deutsch installiert.
Erweiterungen braucht er nicht, eigentlich hat er alles, was ich zum Surfen brauche. Hab ehrlich gesagt noch nix vermissen müssen. Und er hat viel bessere Skins als FF (da flexibler).
Und zum Thema Startgeschwindigkeit: Wenn man FF auf Opera-Niveau hochbohrt, mit (nur den Features die ich auch brauch), dauert der Start von FF 3 Sekunden länger. Und dann muss ich noch nen Mail-Client und IRC-Programm starten (Chatzilla killt bei mir den Firefox komplett, sowohl 1.1 als als 1.5), ok, den Chat von Opera benutze ich auch net.
Nein, 1.5 bindet Gecko nur neu ein (was das jetzt heißt weis ich auch nicht).
Einzig zum Entwickeln ist FF besser geeignet, dafür setze ich ihn auch ein. Da kann man ihn mit nützliches Plugins vollstopfen. Was ihn aber zum Surven noch unkomfortabler und träger macht.
Ich bin OpenSource-Fan, aber es gibt 2 Open-Source Produkte, ich ich net abkann: Firefox bzw. Mozilla Browser Suite (einzig der Sonnenvogel ist brauchbar) und Linux.
@TheUndeadable: Stimmt, FF ruht sich auf dem Erfolg aus. So wie es leider MS mit dem IE6 getan hat.
gepostet vor 18 Jahre, 10 Monate von BLUESCREEN
Was mir vor einiger Zeit mal bei einer Testseite aufgefallen ist: GIF-Animationen werden anscheinend in allen Browsern nichtmal synchronisiert gerendert :/
Ich hatte verschiedene GIF-Dateien, die zusammen eine gesamte Animation ergeben sollten und von den Frame-Zeiten auch abgestimmt waren, aber es wurde halt nicht synchron dargestellt. Und das waren wirklich nur vier kleinste Grafiken oder so -.-
Ich hatte verschiedene GIF-Dateien, die zusammen eine gesamte Animation ergeben sollten und von den Frame-Zeiten auch abgestimmt waren, aber es wurde halt nicht synchron dargestellt. Und das waren wirklich nur vier kleinste Grafiken oder so -.-
gepostet vor 18 Jahre, 10 Monate von Klaus
die Animation wird ja direkt nach dem Download der Grafik abgespielt. Du wirst es wohl kaum schaffen alle Grafiken exakt gelichzeitig downzuladen, auch mit Pipelining.
gepostet vor 18 Jahre, 10 Monate von Kallisti
Hmm ich hab ein paar hundert (identische) PNGs mit alpha Tranparenz auf der Karte und merke absolut keinerlei Probleme...
Liegt es nur daran, dass es keine verschiedenen Grafiken sind?
Liegt es nur daran, dass es keine verschiedenen Grafiken sind?
gepostet vor 18 Jahre, 10 Monate von BjoernLilleike
Ich hoffe ja auch auf eine zukünftig stärkere Berücksichtigung des Opera. Ich bin nun seit vielen Jahren begeisterter Anhänger - hat vom Start weg wirklich alles, was man braucht.
Zwischendrin hatte ich mal versucht auf FireFox umzusteigen - da ist ja das Konfigurieren eines Neuwagens leichter, bevor man auch nur den Status von Opera wieder erreicht hat..
Zwischendrin hatte ich mal versucht auf FireFox umzusteigen - da ist ja das Konfigurieren eines Neuwagens leichter, bevor man auch nur den Status von Opera wieder erreicht hat..
gepostet vor 18 Jahre, 10 Monate von HSINC
joar wenn man sich mal an opera gewöhnt hat, ist ein umstieg auf ff sehr schwierig. die einzigen vorteile des ff die ich sehe sind die plugins und das es halt sowas wie dominspector und komplexe seiteninfo gibt, die machen das entwickeln ein wenig leichter. ansonsten zieh ich defintiv lieber opera vor
gepostet vor 18 Jahre, 10 Monate von Kampfhoernchen
Original von BLUESCREEN
Was mir vor einiger Zeit mal bei einer Testseite aufgefallen ist: GIF-Animationen werden anscheinend in allen Browsern nichtmal synchronisiert gerendert :/
Ich hatte verschiedene GIF-Dateien, die zusammen eine gesamte Animation ergeben sollten und von den Frame-Zeiten auch abgestimmt waren, aber es wurde halt nicht synchron dargestellt. Und das waren wirklich nur vier kleinste Grafiken oder so -.-
Versuch doch mal, die Bilder mit Javascript vorzuladen, und erst wenn sie mit dem Laden fertig sind, setzt du die URL in den src des Bildes.
gepostet vor 18 Jahre, 10 Monate von BjoernLilleike
Zum Entwickeln ist mir der Browser zum Glück völlig schnurz (-> Flash). Deshalb habe ich keinen Grund etwas anderes als Opera zu nehmen (außer auf den Seiten, die Opera nicht anständig unterstützen, aber da bin ich dann halt auch nicht allzu häufig)..
gepostet vor 18 Jahre, 10 Monate von Kallisti
Original von Kampfhoernchen
Versuch doch mal, die Bilder mit Javascript vorzuladen, und erst wenn sie mit dem Laden fertig sind, setzt du die URL in den src des Bildes.
Finde ich absoluten Unsinn.. Leute ohne JS aussperren nur um Synchro zu haben? Naja, wer's braucht...
gepostet vor 18 Jahre, 10 Monate von Mudder
Original von Kallisti
Finde ich absoluten Unsinn.. Leute ohne JS aussperren nur um Synchro zu haben? Naja, wer's braucht...
Dann müsstest du aber bitte auch Kampfhörnchen anprangern weil er es wagt Flash zu verwenden.. Dazu braucht man ein Plugin!!
Ne Ernsthaft.. zumindest bei BGs werd ich zumindest JS eh zwingend mit einbinden und das wäre auch nicht das erste mal wo ich überlegt habe ob man nichtmal sowas wie Mindestvorraussetzungen einbauen sollte.
Die Zeiten wo BGs kleine Hobbyprojekte waren welche mit Tabellendesign und mal nem Logo auskamen sind vorbei! Und genauso wie einige Spiele auf Flash oder Java setzen kann man da auch ruhig sagen, dass JS zwingender Bestandteil des Spiels ist.
gepostet vor 18 Jahre, 10 Monate von Kallisti
Sehe ich nicht so. :-)
Man sollte vor allem erwaegen wann es sich lohnt Kompatiblitaet zu opfern nur um eine Kleinigkeit anders zu machen. Es mag sicher Anwendugnszwecke und Spieler geben, bei denen das sinnvoll ist, jedoch ist der meiste Einsatz von JS nicht zwingend noetig / ueberfluessig / "gimmick" und es geht auch ohne..
Ueber Flash rede ich hier erst gar nicht.. ich habe erst einmal eine sinnvolle Anwendung von Flash gesehen: Die Hilfe Videos von Domainfactory.
Man sollte vor allem erwaegen wann es sich lohnt Kompatiblitaet zu opfern nur um eine Kleinigkeit anders zu machen. Es mag sicher Anwendugnszwecke und Spieler geben, bei denen das sinnvoll ist, jedoch ist der meiste Einsatz von JS nicht zwingend noetig / ueberfluessig / "gimmick" und es geht auch ohne..
Ueber Flash rede ich hier erst gar nicht.. ich habe erst einmal eine sinnvolle Anwendung von Flash gesehen: Die Hilfe Videos von Domainfactory.
gepostet vor 18 Jahre, 10 Monate von BjoernLilleike
Also das mit dem Flash war ja wohl ich (um Kampfhörnchens Ehre wieder herzustellen)
Und ich stehe dazu.
Wer sich das Plugin nicht besorgen möchte, den kann ich logischerweise nicht zwingen, aber dafür braucht er ansonsten kein JavaScript oder Java oder activeX - und hat trotzdem ein sehr interaktives Spielerlebnis.
Immerhin haben sich rund 93% in Europa dafür entschieden (bei den meisten wird es ja ohnehin direkt im Browser mitgeliefert).
Und da man es nicht so leicht deaktivieren kann - und mir aber auch kaum Fälle bekannt sind, in denen dies aus Sicherheitsgründen nötig wäre - ist es ziemlich gut verfügbar und vor allem in jedem Browser identisch unterstützt. Allenfalls die Performance differiert mitunter.
Weniger Arbeit bei Inkompatibilitäten -> mehr Arbeit an Gamecontent, der richtig Spaß macht.
Und um Kallisti mal zu widersprechen: Im Games-Bereich sind Gimmicks in der Regel keinesfalls überflüssig. Ein paar Puristen gibt es immer, aber für die Mehrheit sind es häufig gerade die Gimmicks, die ein Spiel interessant machen.
Und dazu zählen sicher auch synchron animierte Tiles, wenn die sich anders nicht realisieren lassen und die grafische Anmutung erheblich verbessern.
Und ich stehe dazu.
Wer sich das Plugin nicht besorgen möchte, den kann ich logischerweise nicht zwingen, aber dafür braucht er ansonsten kein JavaScript oder Java oder activeX - und hat trotzdem ein sehr interaktives Spielerlebnis.
Immerhin haben sich rund 93% in Europa dafür entschieden (bei den meisten wird es ja ohnehin direkt im Browser mitgeliefert).
Und da man es nicht so leicht deaktivieren kann - und mir aber auch kaum Fälle bekannt sind, in denen dies aus Sicherheitsgründen nötig wäre - ist es ziemlich gut verfügbar und vor allem in jedem Browser identisch unterstützt. Allenfalls die Performance differiert mitunter.
Weniger Arbeit bei Inkompatibilitäten -> mehr Arbeit an Gamecontent, der richtig Spaß macht.
Und um Kallisti mal zu widersprechen: Im Games-Bereich sind Gimmicks in der Regel keinesfalls überflüssig. Ein paar Puristen gibt es immer, aber für die Mehrheit sind es häufig gerade die Gimmicks, die ein Spiel interessant machen.
Und dazu zählen sicher auch synchron animierte Tiles, wenn die sich anders nicht realisieren lassen und die grafische Anmutung erheblich verbessern.
gepostet vor 18 Jahre, 10 Monate von Kampfhoernchen
Über Flash mag man sich noch streiten, aber Javascript sollte inzwischen wohl soweit sein, dass man es vorraussetzen kann. PS. es ginge ja auch ohne, wenn man einfach ein nicht-animiertes Bild für JS-Blocker einsetzt.
gepostet vor 18 Jahre, 10 Monate von TheUndeadable
Flash würde ich nie zwingend voraussetzen, aber mit JS habe ich keine Probleme. Wenn eine Nicht-JS Lösung unsauber ist oder zuviel Aufwand bedeutet, dann basiert meine Website/Spiel auf JavaScript. Ich optimiere auch nicht für den Netscape 4.
gepostet vor 18 Jahre, 10 Monate von Drezil
ich hab javascript fuer counter ..
ansonsten synchronisiere ich auch die bilder, weilo ich hab transparent/nichttransparent-wechselnde gifs um auf meiner karte diplomatie darzustellen
das ganze ist abwaertskompatibel zum ie5 oder vergleichbaren
ich denke soviel wird man vorraussetzen koennen, da die meisten user ohnehin ie6 mit js, ff mit js, odedr opera 7 mit js haben ....
ansonsten synchronisiere ich auch die bilder, weilo ich hab transparent/nichttransparent-wechselnde gifs um auf meiner karte diplomatie darzustellen
das ganze ist abwaertskompatibel zum ie5 oder vergleichbaren
ich denke soviel wird man vorraussetzen koennen, da die meisten user ohnehin ie6 mit js, ff mit js, odedr opera 7 mit js haben ....
gepostet vor 18 Jahre, 10 Monate von BLUESCREEN
Original von Kampfhoernchen
Versuch doch mal, die Bilder mit Javascript vorzuladen, und erst wenn sie mit dem Laden fertig sind, setzt du die URL in den src des Bildes.
Selbst zwischen den beiden Aufrufen, die dann die src-Angabe einsetzen gibt es eine spürbare zeitliche Differenz...
Außerdem ist mir eben aufgefallen, dass die Animationen anscheinend nicht nur zeitlich verschoben beginnen, sondern dass sich dieser Zeitunterschied im Laufe der Zeit auch noch verändern kann O.o
(habe jetzt nur Mozilla getestet)
gepostet vor 18 Jahre, 10 Monate von BjoernLilleike
Versuch das Ganze doch mal mit Flash
Da ist das mit der Synchronität gar kein Problem.
Wenn du mir deine Beispielgrafik schickst (und in etwa erklärst wie du sie angeordnet haben willst) könnte ich dir so einen Film wohl auch schnell mal zusammen basteln.
Da ist das mit der Synchronität gar kein Problem.
Wenn du mir deine Beispielgrafik schickst (und in etwa erklärst wie du sie angeordnet haben willst) könnte ich dir so einen Film wohl auch schnell mal zusammen basteln.
gepostet vor 18 Jahre, 10 Monate von Kampfhoernchen
Original von BLUESCREEN
Original von Kampfhoernchen
Versuch doch mal, die Bilder mit Javascript vorzuladen, und erst wenn sie mit dem Laden fertig sind, setzt du die URL in den src des Bildes.
Selbst zwischen den beiden Aufrufen, die dann die src-Angabe einsetzen gibt es eine spürbare zeitliche Differenz...
Außerdem ist mir eben aufgefallen, dass die Animationen anscheinend nicht nur zeitlich verschoben beginnen, sondern dass sich dieser Zeitunterschied im Laufe der Zeit auch noch verändern kann O.o
(habe jetzt nur Mozilla getestet)
LOL
gepostet vor 18 Jahre, 10 Monate von Skyrunner
Original von BLUESCREEN
Original von Kampfhoernchen
Versuch doch mal, die Bilder mit Javascript vorzuladen, und erst wenn sie mit dem Laden fertig sind, setzt du die URL in den src des Bildes.
Selbst zwischen den beiden Aufrufen, die dann die src-Angabe einsetzen gibt es eine spürbare zeitliche Differenz...
Außerdem ist mir eben aufgefallen, dass die Animationen anscheinend nicht nur zeitlich verschoben beginnen, sondern dass sich dieser Zeitunterschied im Laufe der Zeit auch noch verändern kann O.o
(habe jetzt nur Mozilla getestet)
So wie an der Ampel? Bei den Blinkern des Vordermanns? pwn3d...
gepostet vor 18 Jahre, 10 Monate von schokofreak
Heutzutage kann man für n BG erwarten, dass der Clilent JS unterstützt.
Deshalb kann man auch einen Bilder-Cache in JS machen -> würd ich eh immer empfehlen; denn wenn einer den Browser-Cache abgeschaltet hat steigt der Traffic ins Unermessliche und GrafikPacks sind auch ned schlau.
Sprich: Du hast n JavaScript cache über alle Bilder. Dadurch kannst du das Einblenden der Bilder synchronisieren.
Allerdings garantiert dir synchronisiertes Einblenden der Bilder noch keinen synchronisierten Ablauf mehrerer GIFs.
Wie auch beobachtet wurde, hat das Timing innerhalb von Gifs wenig Priorität. Somit kann es mit der Zeit zu immer grösseren Effekten kommen.
Fazit:
Animierte GIFs möglichst wenig nutzen. Wenn wirklich genutzt:
- Cache alle bilder Parallel aufbauen (sollt möglich sein)
- In Darstellungt alle bilder parallel aufbauen. in Regelmässigen / kurzen Zyklen die bilder neu darstellen (source neu setzen).
- Somit kann in den meisten Browsern bewirkt werden, dass die GIFs synchron sind. Genügt dies noch nicht gibt es glaub irgendwo n proprietäres Kommando, welches sowas erledigt.
Gruss
Deshalb kann man auch einen Bilder-Cache in JS machen -> würd ich eh immer empfehlen; denn wenn einer den Browser-Cache abgeschaltet hat steigt der Traffic ins Unermessliche und GrafikPacks sind auch ned schlau.
Sprich: Du hast n JavaScript cache über alle Bilder. Dadurch kannst du das Einblenden der Bilder synchronisieren.
Allerdings garantiert dir synchronisiertes Einblenden der Bilder noch keinen synchronisierten Ablauf mehrerer GIFs.
Wie auch beobachtet wurde, hat das Timing innerhalb von Gifs wenig Priorität. Somit kann es mit der Zeit zu immer grösseren Effekten kommen.
Fazit:
Animierte GIFs möglichst wenig nutzen. Wenn wirklich genutzt:
- Cache alle bilder Parallel aufbauen (sollt möglich sein)
- In Darstellungt alle bilder parallel aufbauen. in Regelmässigen / kurzen Zyklen die bilder neu darstellen (source neu setzen).
- Somit kann in den meisten Browsern bewirkt werden, dass die GIFs synchron sind. Genügt dies noch nicht gibt es glaub irgendwo n proprietäres Kommando, welches sowas erledigt.
Gruss
gepostet vor 18 Jahre, 10 Monate von BjoernLilleike
Alternativ könnte man - bei nicht allzuvielen Frames - auch überlegen, ob man die Animation in Javascript selbst durchführt.
Weiß jetzt allerdings nicht, wie praktikabel das ist..
Aber mal als Beispiel:
http://www.x-gd.de/samples/watertest.html
macht doch ungefähr das, was du haben möchtest, oder? Sind jetzt allerdings 5 Einzelframes png als Animation.
8x8 davon zu einer Fläche zusammengesetzt.
Arbeitsaufwand - inkl. raussuchen der Grafiken aus dem Archiv - 10 Min.
Wer das nicht sehen kann. Finger hoch.
Wenn es auf irgendeinem Browser nicht synchron läuft. Finger hoch.
Wenn es zu langsam läuft (sollten 2 Bilder pro Sekunde sein). Finger hoch.
p.s. http://www.x-gd.de/samples/watertest16.html für diejenigen, die es ihrem Rechner zutrauen..
Weiß jetzt allerdings nicht, wie praktikabel das ist..
Aber mal als Beispiel:
http://www.x-gd.de/samples/watertest.html
macht doch ungefähr das, was du haben möchtest, oder? Sind jetzt allerdings 5 Einzelframes png als Animation.
8x8 davon zu einer Fläche zusammengesetzt.
Arbeitsaufwand - inkl. raussuchen der Grafiken aus dem Archiv - 10 Min.
Wer das nicht sehen kann. Finger hoch.
Wenn es auf irgendeinem Browser nicht synchron läuft. Finger hoch.
Wenn es zu langsam läuft (sollten 2 Bilder pro Sekunde sein). Finger hoch.
p.s. http://www.x-gd.de/samples/watertest16.html für diejenigen, die es ihrem Rechner zutrauen..
gepostet vor 18 Jahre, 10 Monate von Kampfhoernchen
27% CPU-Auslastung produziert das (bei vorher und nachher 3). Und wirkt hypnotisch. Aber funzt.
gepostet vor 18 Jahre, 10 Monate von BLUESCREEN
Flash geht schonmal eh nicht und es war nur eine Testseite mit zwei blinkenden Grafiken, die immer beide gleichzeitig die gleiche Farbe haben sollten... Aber selbst mit JS geht das nicht.
edit: Trotzdem frage ich mich gerade, ob es geht, zwei Animationen in zwei(!) Flash-Applets zu synchronisieren. Dass das innerhalb von einem geht ist ja klar...
edit: Trotzdem frage ich mich gerade, ob es geht, zwei Animationen in zwei(!) Flash-Applets zu synchronisieren. Dass das innerhalb von einem geht ist ja klar...
gepostet vor 18 Jahre, 10 Monate von BjoernLilleike
Ich bin nicht sicher ob das geht, obwohl ich ein paar Ideen dazu hätte, wie man es realisieren könnte.
Aber viel einfacher wäre es natürlich in einem und da müssten schon sehr triftige Gründe vorliegen, dass das unbedingt auf 2 verteilt sein muss.
Vielleicht legst du mal etwas deutlicher dar, worauf genau du eigentlich hinaus willst.
Aber viel einfacher wäre es natürlich in einem und da müssten schon sehr triftige Gründe vorliegen, dass das unbedingt auf 2 verteilt sein muss.
Vielleicht legst du mal etwas deutlicher dar, worauf genau du eigentlich hinaus willst.
gepostet vor 18 Jahre, 10 Monate von Wulf
Wir hatten in einem Prototypen unserer Portalseite mal mehrere Flash-Videos sowie mehrere Grafiken, die per JS synchron animiert werden sollten.
Wenn der Mauszeiger ueber einem Flash-Video war hat Flash die Animation der anderen Flash-Viedos und der JS/Bilder gestartet.
Die Flash-Videos waren recht synchron (nur bei schneller Bewegung auf nem langsamen Rechner konnte man Asynchronitaeten beobachten), waehrend die Flash-JS/Bild Synchronisation voellig daneben war. Da konnte man nur bei sehr langsamer Mausbewegung und nem schnellen Rechner ueberhaupt von Synchronisation sprechen.
=> Wir haben den Ansatz dann verworfen und ein grosses Flash Video gemacht.
PS: Ausserdem war's nervig beim IE ein 'Klick/Reload' Geraeusch zu hoeren, wenn Flash auf JS zugegriffen hat.
Wenn der Mauszeiger ueber einem Flash-Video war hat Flash die Animation der anderen Flash-Viedos und der JS/Bilder gestartet.
Die Flash-Videos waren recht synchron (nur bei schneller Bewegung auf nem langsamen Rechner konnte man Asynchronitaeten beobachten), waehrend die Flash-JS/Bild Synchronisation voellig daneben war. Da konnte man nur bei sehr langsamer Mausbewegung und nem schnellen Rechner ueberhaupt von Synchronisation sprechen.
=> Wir haben den Ansatz dann verworfen und ein grosses Flash Video gemacht.
PS: Ausserdem war's nervig beim IE ein 'Klick/Reload' Geraeusch zu hoeren, wenn Flash auf JS zugegriffen hat.
gepostet vor 18 Jahre, 10 Monate von BjoernLilleike
..was in der Tat sehr hübsch geworden ist.
Die Fallback-Variante für HTML ist sehr ehrenhaft und tapfer, vor allem wenn ihr sie auch im kompletten Spiel durchzieht.
Aber mit einem so großen Team kann man sich den Luxus wohl erlauben
p.s. Beim Überfliegen habe ich viele Architekten im Team gesehen. Viele Grüße von einem (abgebrochenen) Kollegen, der schon viel früher in die Spieleentwicklung gewechselt ist.
In der Tat: Spiele entwickeln und Häuser planen/bauen hat sehr vieles gemeinsam..
Die Fallback-Variante für HTML ist sehr ehrenhaft und tapfer, vor allem wenn ihr sie auch im kompletten Spiel durchzieht.
Aber mit einem so großen Team kann man sich den Luxus wohl erlauben
p.s. Beim Überfliegen habe ich viele Architekten im Team gesehen. Viele Grüße von einem (abgebrochenen) Kollegen, der schon viel früher in die Spieleentwicklung gewechselt ist.
In der Tat: Spiele entwickeln und Häuser planen/bauen hat sehr vieles gemeinsam..
gepostet vor 18 Jahre, 10 Monate von BLUESCREEN
Original von BjoernLilleike
Vielleicht legst du mal etwas deutlicher dar, worauf genau du eigentlich hinaus willst.
Wie gesagt: Ich wollte sehen, ob die Browser die synchrone Darstellung hinkriegen.
gepostet vor 18 Jahre, 10 Monate von Mudder
Nochmal zurück zum Thema Browserperformence..
Wie sieht die Performence in FF eigentlich bei euch aus? Speziell bei grossen Seiten. Weil wenn ich längere Seiten habe (als Beispiel eine Produktseite von Alternate).
FF bringt da sowohl hier auf der Arbeit wie auch zu Hause den Rechner beinahe zum erliegen. Wobei die Seite Stück für Stück nachgeladen wird, als ob der Server immer neue Daten nachschickt. IE z.B. läd die Seite in einem rutsch durch und zeigt sie auch entsprechend an. Ok es ist inzwischen auch schon gesagt worden, dass IE der schnellste ist und FF ist defenitiv auch kein schneller Rechner.. aber ein paar simple Tabellen sollte doch auch schon die Gecko-Engine rendern können.
Wie sieht die Performence in FF eigentlich bei euch aus? Speziell bei grossen Seiten. Weil wenn ich längere Seiten habe (als Beispiel eine Produktseite von Alternate).
FF bringt da sowohl hier auf der Arbeit wie auch zu Hause den Rechner beinahe zum erliegen. Wobei die Seite Stück für Stück nachgeladen wird, als ob der Server immer neue Daten nachschickt. IE z.B. läd die Seite in einem rutsch durch und zeigt sie auch entsprechend an. Ok es ist inzwischen auch schon gesagt worden, dass IE der schnellste ist und FF ist defenitiv auch kein schneller Rechner.. aber ein paar simple Tabellen sollte doch auch schon die Gecko-Engine rendern können.
gepostet vor 18 Jahre, 10 Monate von Wulf
Nochmal zurück zum Thema Browserperformence..
Die Seite ist bei mir ok. (Neuer Laptop, FF 1.5, WinXP, 2Mbit DSL)
@BjoernLilleike
Danke fuer das Lob.
Wir haben vor fuer das ganze Spiel eine HTML Alternative zu Flash zu bieten.
Wir haben zwei Architekten im Team, die sich um das grafische Design von Spacetale kuemmern.
Bin mal gespannt, ob die auch denken dass Haeuser bauen und Spieleentwickeln Gemeinsamkeiten hat.
PS: @Mudder
performance - Ich stolper' beim lesen immer drueber...
gepostet vor 18 Jahre, 10 Monate von Mudder
Ok mit A...
Was zu eurem Flash.. woher habt ihr eigentlich alle Flash? Offiziell gibts doch nur das scheissteure Ding von Macromedia und ich kann mir nur bedingt vorstellen, dass ihr das alles mit MING macht.
Was zu eurem Flash.. woher habt ihr eigentlich alle Flash? Offiziell gibts doch nur das scheissteure Ding von Macromedia und ich kann mir nur bedingt vorstellen, dass ihr das alles mit MING macht.
gepostet vor 18 Jahre, 10 Monate von BjoernLilleike
Lange gespart dafür. Dafür war das Update auf Studio 8 eigentlich richtig cool günstig - auch wenn ich das andere Zeugs darin bisher nur selten gebraucht habe..
Ansonsten gibt es einen kostenlosen Compiler und Plugins für Eclipse. Die Grafiken zusammenschieben in MM Flash nutze ich eher selten. Das meiste ist Programmierung.
Ansonsten gibt es einen kostenlosen Compiler und Plugins für Eclipse. Die Grafiken zusammenschieben in MM Flash nutze ich eher selten. Das meiste ist Programmierung.
gepostet vor 18 Jahre, 10 Monate von Wulf
Wir hatten mit der kostenlosen 1-Monat-Probeversion angefangen.
gepostet vor 18 Jahre, 10 Monate von BjoernLilleike
Ich habe jetzt mal experimentiert gehabt mit getrennten swfs. Es ist ernüchternd. Immer wieder tanzen welche aus der Reihe.
Da hat es auch nicht geholfen, alle 500 ms neu zu synchronisieren - wahrscheinlich ist eher der umgekehrte Weg erfolg versprechend: Erst nach einer Startphase alle zu starten.
Anyway: Es ist recht lustig anzuschauen und das wollte ich euch keinesfalls vorenthalten:
http://www.x-gd.de/samples/sync.html
Da hat es auch nicht geholfen, alle 500 ms neu zu synchronisieren - wahrscheinlich ist eher der umgekehrte Weg erfolg versprechend: Erst nach einer Startphase alle zu starten.
Anyway: Es ist recht lustig anzuschauen und das wollte ich euch keinesfalls vorenthalten:
http://www.x-gd.de/samples/sync.html
gepostet vor 18 Jahre, 10 Monate von BLUESCREEN
Ganz toll wird es, wenn man zwischendurch mal für ne Minute in ein anderes Browsertab wechselt und danach wieder zurück zu der Seite. Dann ist nämlich das letzte bisschen Synchronisation verloren und man sieht mitunter innerhalb einer Zeile alle vier benutzten Farben gleichzeitig.
Ein bisschen Flash-Bashing: Da waren ja die GIFs synchroner
Ein bisschen Flash-Bashing: Da waren ja die GIFs synchroner
gepostet vor 18 Jahre, 10 Monate von BjoernLilleike
Ich habe ja auch nicht vorgeschlagen, das in zwei Movies aufzuspalten. Deswegen habe ich ja auch einen 1000x600-Flashclip in dem ALLES drin ist. Nur die Grafiken werden bei Bedarf nachgeladen und die Daten natürlich vom Server geholt.
Da entscheide ich dann selbst, ob etwas synchron sein soll oder nicht.
Da entscheide ich dann selbst, ob etwas synchron sein soll oder nicht.
gepostet vor 18 Jahre, 10 Monate von The-Winner
Was Flash angeht finde ich den 3D Flash Animator ganz gut. Ist eine 30 Tage Shareware, 50$ Reggebühr. Ob er euren Ansprüchen genügt weiß ich nicht, da ich nur relativ einfache Sachen damit gemacht habe.