none
HTML5 App, unerklärlicher FPS Verlust nach Portierung. RRS feed

  • Allgemeine Diskussion

  • Hallo,

    ich arbeite seit einer Weile an einer HTML5, Javascript App. Ich habe XAMPP auf meinem Computer installiert um nach jeder Änderung schnell im Browser meines WPs zu sehen, wie sich die Performance verhält. Wenn ich in die Adressleiste des Browser die IP meines Computers eingebe, sehe ich meine Anwendung auf meinem Telefon. Bislang lief sie immer mit soliden  60 FPS. 

    Nun habe ich die Anwendung auf meinem Nokia Lumia 920 installiert. Hierzu habe ich das "Windows Phone HTML5 App" Tamplate verwendet. Leider verhällt sich die Anwendung hier ganz anders. Ich habe nur 40 - 50 FPS. Das ist leider zu wenig da so die Animationen in der App ruckelig erscheinen.

    Woher kommen diese unterschiede in der Performance? Es ist doch der selbe Browser und die selbe Engine die den Javascript Code ausfüren?

    Vielen Dank!

    Dienstag, 11. März 2014 17:16

Alle Antworten

  • Hallo,
    ja es ist zwar die selbe Engine, aber andere Hardware.

    Dein Computer emuliert das Windows Phone, was zwar einiges an Leistung kostet, ist aber nach wie vor deutlich schneller als der richtige Miniprozessor des WP. Genauso wird die Ausführungsgeschwindigkeit von WP zu WP unterschiedlich sein.

    Eine Animation, welche immer gleich schnell ablaufen soll, darfst du deswegen nicht auf Basis der Ausführungsgeschwindigkeit von Code erstellen. Ich kenne mich nicht mit dem JS für WP aus, aber im C# und VB.NET gibt es einen Timer, der in regelmäßigen Abständen ein Event auslöst. So würde überall es fast gleichschnell laufen (eine kleine Abweichung wird es immer geben). Trotzdem wirst du es wahrscheinlich nicht auf deine 60FPS schaffen. Das ist nebenbei gesagt auch recht viel, somit hast du wohl eine sehr schnelle Animation. (Wir sehen schon 15 FPS als Flüssig, Filme haben meistens um die 24 FPS)
    Vielleicht solltest du darum deine Animation abändern. Eventuell jedes 2. Bld raus streichen o.ä., so dass es nur auf Leistungsfähigen Geräten die 60 Bilder, auf Leistungsschwachen WPs dagegen 30 Bilder verwendet.

    Mehr kann ich dir dazu leider nicht empfehlen, weil ich eben JS für WPF zu wenig kenne.


    Koopakiller [kuːpakɪllɐ] (Tom Lambert)
    Webseite | Code Beispiele | Facebook | Twitter | Snippets   C# ↔ VB.NET Konverter
    Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.

    Dienstag, 11. März 2014 17:37
  • Hallo,

    danke für deine Antwort. Ich habe den Emulator nicht verwendet. Ich versuche das nochmal ein bischen verständlicher zu beschreiben. Die Anwendung läuft beide male auf dem gleichen Telefon. Also auf der gleichen Hardware. Das eine Mal starte ich sie im Browser des Telefons von einem Webserver aus der auf meinem Computer läuft. Hier läuft alles ohne Probleme.

    Bei dem zweiten Anlauf habe ich die App direkt auf mein Telefon geladen. Dafür habe ich das HTML5 App Template aus Visual Studio 2013 verwendet. Nun sieht das ganze auf dem telefon aus wie eine native app. Sie wird ebenfalls im Browser des Telefons ausgeführt, hat aber merklich weniger FPS.

    Die Animation basiert auf der zeit die seit dem letzten update vergangen ist. Das bedeutet, dass die Geschwindigkeit der Animation eigtl. nicht von den FPS abhängen sollte. Aber wenn die FPS zu weit runter gehen oder schwanken wirkt das ganze trotzdem abgehackt. Ich bin mir nicht sicher an was das liegt.

    Ich will hier wirklich nur ungern Werbung machen aber Momentan verhält es sich auf dem Teleofon wie dieses Spiel: http://www.windowsphone.com/de-de/store/app/peppa-pig-crazy-race/acb0f00a-da74-4bbb-871e-de3139664a1a .

    Also genau diese art von ruckeln meine ich.

    LG

    Dienstag, 11. März 2014 18:19