Android perfomance bei room wechsel

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Android perfomance bei room wechsel

    Hallo, ich habe wieder mal ein Problem bei meinem Puzzle Game.
    Und zwar habe ich(soweit wie ich es durch Tutorials gelernt habe) das Spiel für Android optimiert, durch z.B. Delta Time um die Effekte flüssig zum laufen zu bekommen.
    Das klappt auch alles super. Auf stabilen Geräten wie dem Samsung S6 läuft alles perfekt.
    Das Problem auf Geräten wie dem Samsung S3 Mini stürzt das Spiel nach einer gewissen Zeit zusammen mit dem Betriebssystem auf dem Handy ab(am Handy liegt es nicht konnte es auf unterschiedlichen S3 testen ).
    Vor allem wenn man die Pause von GM(if the user answer to a question) nutzt und dann in einen anderen Raum wechselt.
    Memory leak kann ich auch ausschließen, zumindest in meinem code.
    Anscheinend wird der Arbeitsspeicher nicht schnell genug geleert beim wechseln eines Raums auf schwächeren Geräten wie dem s3 mini.
    Was kann ich da tun?
    Die einzelnen Instanzen werden doch vor dem Raumwechsel aus dem Speicher geworfen , oder irre ich mich da?
    Denn ich bin immer noch absoluter Anfänger :wacko:
  • Vor allem wenn man die Pause von GM(if the user answer to a question) nutzt und dann in einen anderen Raum wechselt.


    Ist das async? Wenn nicht, dann ist das dein Problem.

    Wenn du mehr Performance brauchst, dann deaktiviere das application_surface.
    Das bringt bei alten Geräten +50% Leistung ( bau am besten eine Möglichkeit ein um es zu deaktivieren)
  • Danke für die Antwort.
    application_surface ist bereits deaktiviert, das spiel läuft auch ganz ok auf dem alten Handy und auch die Effekte funktionieren dank delta time, nur stürzt es ab wenn ich eben zu oft hintereinander oder zu schnell den Raum wechsel.
    Wie stelle ich das denn auf async hast du da ein Beispiel?
  • Fragst du den user, ob er den raum wechseln will?

    GML-Quellcode

    1. if show_question("Continue to next room?")


    wenn ja, dann mach daraus...

    show_question_async und lass die Antwort asynchron auswerten.

    async ist bei android sehr wichtig, sonst stürzt das spiel manchmal ab.
    Ich habe es getestet mir ca 30 handys (google play dev Konsole--> automatische-betatests)
  • Ich hab jetzt noch ein Problem und zwar lasse ich Hintergrundmusik in einer Schleife laufen, dass ganze lade ich vorab mit (audio_play_sound) in einem Raum und wechsel dann ins Menü.
    Wenn man von da aus weiter in einen anderen Raum wechselt bleibt die Musik so erhalten.
    Das Problem ist jetzt folgendes, wenn ich asynchron Abfrage ob der User ein Bild freischalten will dann hängt die Musik kurz wenn man "Ja" oder "Nein" tippt und läuft dann weiter. Das passiert nur auf den Handys nicht auf dem PC. Wenn man das mehrmals hintereinander macht stürzen die Handys ab und somit nützt dann auch das Asynchrone abfragen nichts, hatte jemand ein ähnliches Problem ?