[FPS] Bei schwachen Android-Geräte wird das spiel langsamer.

  • Android

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

  • [FPS] Bei schwachen Android-Geräte wird das spiel langsamer.

    Hallole,

    ich habe ein Problem, mein Spiel läuft mit room_speed aka FPS 60, auf Nexus 7 kriege ich natürlich auch auf 60, jedoch bei HTC Desire oder andere Low-Smartphone hat man gerade mal 30-40FPS.
    Eigentlich hätte ich nichts dagegen, wenn der FPS runter geht, aber nicht doch, wenn der Spiel langsamer läuft? Als wäre die in der Zeitlupe.

    Gibt es nicht so in der Art "Frames Skip" oder so? Mag sein, das man per Variable wie z.B. "x = 12*60/fps" machen kann. Aber dann hat man 2 Nachteile, was ich weiß:

    - Der Player läuft nicht bei gleichen Geschwindigkeit nach rechts (wird langsamer und/oder schneller)
    - man kann kein perfekte if-statement wie z.B. "if x = 20 then" machen.

    Hat jemand ein Vorschlag, wie ich am besten troz. niedrige FPS gleicher Spielgeschwindigkeit machen kann?

    Ich würde auf Antwort echt freuen...


    Gruß,

    China
    Ihr stinkt.
  • Hallo Chinafreak,

    ich hab das gleiche Problem bei mir auch gehabt. Eine wirkliche Lösung gibt es meines Wissens nach nicht. Des weiteren arbeiten hier in gm-d noch sehr wenige mit Studio, von daher werden dir leider nicht soviele helfen können. Es könnte auch sein, dass du bei den low-end Geräten den Energiesparmodus aufgedreht hast.

    LG Afroman
  • Afroman schrieb:

    Hallo Chinafreak,

    ich hab das gleiche Problem bei mir auch gehabt. Eine wirkliche Lösung gibt es meines Wissens nach nicht. Des weiteren arbeiten hier in gm-d noch sehr wenige mit Studio, von daher werden dir leider nicht soviele helfen können. Es könnte auch sein, dass du bei den low-end Geräten den Energiesparmodus aufgedreht hast.

    LG Afroman



    Das ist wirklich schade, das es noch kein wirkliche Lösung gibt. Und nein, mein low-end Geräte ist nicht auf Energiesparmodus und wird sogar durch Root overgelockt.
    Ihr stinkt.
  • ich hab das gleiche Problem bei mir auch gehabt. Eine wirkliche Lösung gibt es meines Wissens nach nicht. Des weiteren arbeiten hier in gm-d noch sehr wenige mit Studio, von daher werden dir leider nicht soviele helfen können. Es könnte auch sein, dass du bei den low-end Geräten den Energiesparmodus aufgedreht hast.


    Das ganze nennt sich DELTA Timing, das Beispiel ist zwar für Java LWJGL umgesetzt, sollte aber recht einfach auf den GM übertragbar sein.
    lwjgl.org/wiki/index.php?title=LWJGL_Basics_4_%28Timing%29
  • Chinafreak schrieb:

    stimmt, man könnte ja "Java-Files" bei Game Maker rumhacken/rumspielen, so das es möglich sein wird.

    Nur das Problem ist es, das ich überhaupt kein Java kann. Auf Tutorial wäre ich unendlich dankbar.
    Unsinn, er meinte sicher das Prinzip, das Delta-Timing welches sich auf auf GM übertragen lässt.
    Das ist in etwa das was du dort oben vorgeschlagen hast... Es hat zwar nachteile aber auch unschätzbare Vorteile. Nicht umsonst basieren _ALLE_ großen Spiele auf diesem prinzip (alle Spiele wo du eine variable FPS-Anzeige hast, also von Crysis bis Call of Duty usw...)

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Jup, nur das Nachteil für mein Spiel ist das einfach zu groß... wie mache ich dann am besten, das der if-statement nur einmal ausführt? (Als beispiel if variable = 20)
    der "variable += 1*60/fps" gibt ja oft nur zahlen mit kommastellen (troz. floor, round oder ceil bringt nicht weiter), so das der dieser if statement nicht mehr zusammenpasst
    Natürlich kann man das auch per "if variable < 20" machen, aber nach 20 wird dann Code mehrmals ausgeführt und das möchte ich nicht...

    Hat jemand ein Vorschlag, wie ich das am besten machen kann?


    ---

    Die meisten Spiele haben aber auch Frames skip :I
    Ihr stinkt.