Gamepad beeinflusst FPS

  • Win

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

  • Gamepad beeinflusst FPS

    Howdy.
    Ich habe schon vor längerer Zeit Gamepad-Support für mein aktuelles Projekt eingebaut und hatte nie Probleme damit.
    Da ich demnächst eine Testversion releasen möchte, habe ich nochmal alle möglichen Umstände getestet und bin dabei auf ein seltsames Phänomen gestoßen.
    Bisher war mein Gamepad dauerhaft an den PC angeschlossen. Habe es nun testhalber entfernt und bemerkt, dass die Framerate plötzlich stark abnimmt. Habe ein bisschen rumexperimentiert, und bin zu folgendem Ergebnis gekommen:

    Unabhängig vom Projekt (selbst bei einem neuen Projekt bestehend aus einem einzelnen leeren Raum) kriege ich höchstens 30fps (manchmal auch nur 10) wenn beim Starten kein Gamepad angeschlossen ist. Wird das Gamepad während des laufenden Spiels angeschlossen, normalisieren sich die FPS. Wird das Gamepad jedoch während des Spiels wieder ausgesteckt, bleiben sie konstant bei Normalwerten.
    D.h. Solange ich beim Start des Spiels einen Controller angeschlossen habe, kann ich danach machen was ich will ohne die Framerate zu beeinflussen. Wenn ich zu Beginn keinen Controller angeschlossen habe, bleibt die Framerate niedrig bis ein Controller angeschlossen wird.

    Das Problem ließ sich durch einen GM/PC-Neustart nicht beheben und bleibt auch in erstellten Executables erhalten.
    Ich habe nicht die geringste Ahnung woran das liegen kann und habe auch in der GMC nichts über dieses Problem gefunden.

    Hat irgendjemand ähnliche Erfahrungen gemacht / Vorschläge, was ich versuchen könnte?

    MfG Waterman7


    PS: Ich nutze den Standard X-Box Controller von Microsoft

    EDIT:
    Laut Debugger liegts am Step-Event...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Waterman7 () aus folgendem Grund: Screenshot

  • Hab mal einen Screenshot vom Debugger in den ersten Post editiert. Demnach ist das Step-Event an allem Schuld. Leider auch, wenn das Step-Event leer ist...
    Das erste was du machen solltest ist aber ein Bugreport an YoYo zu schreiben!
    Wenn sich keine Lösung finden sollte, werde ich das tun. Ich verspreche mir da allerdings nicht so wirklich viel von.

    Könnte dran liegen das er intern execeptions wirft weil du die gamepad funktionen benutzt obwohl kein gamepad angeschlossen ist und deshalb es zu framerate einbrüchen kommt.
    Wie oben erwähnt, tritt das Problem selbst bei einem leeren Raum auf. Also auch, wenn ich keine joystick_-Funktionen aufrufe.

    MfG Waterman7
  • Dann liegts vielleicht doch an etwas anderem?

    Ich habe Game Maker Studio nicht, aber gibt es vielleicht irgendwelche Allgemeinen Einstellungen bei denen man bei bestimmten Zuständen die FPS rate festlegen kann?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Unistyle ()

  • Warum ist ganz einfach.

    Wenn du den Joypad konstant abfragst und du nicht abfragst ob er existiert fragt er nach Eingaben die einfach nicht da sind ;) .

    Das ist die Lösung:

    Quellcode

    1. if joystick_exists(1)


    Hier mal mein Keyboard Emulator für Joypads:

    Quellcode

    1. if joystick_exists(1)
    2. {
    3. if joystick_check_button(1, 1) {
    4. keyboard_key_press(ord('W'))
    5. }
    6. else
    7. keyboard_key_release(ord('W'))
    8. if joystick_check_button(1, 3) {
    9. keyboard_key_press(ord('E'))
    10. }
    11. else
    12. keyboard_key_release(ord('E'))
    13. //Kontrolle Links Rechts
    14. if ((joystick_xpos(1) <= -.5))
    15. {
    16. keyboard_key_press(ord('A'))
    17. Links=1
    18. Rechts=0
    19. }
    20. if ((joystick_xpos(1) >= 0.5))
    21. {
    22. keyboard_key_press(ord('D'))
    23. Links=0
    24. Rechts=1
    25. }
    26. if ((joystick_xpos(1) >= -.4)) && Links=1 {keyboard_key_release(ord('A'))}
    27. if ((joystick_xpos(1) <= 0.4)) && Rechts=1 {keyboard_key_release(ord('D'))}
    28. }
    Alles anzeigen
  • Daran wird's wohl kaum liegen, das Problem schient bei ihm ja auch aufzutreten, wenn er nur einen leeren Raum hat und keine Gamepad/Joystickfunktionen abfragt. :-/
    www.glowingorb.de
    „Wenn es im Universum noch irgendwo intelligente Lebewesen gibt, dann kennen sie vielleicht Schach, höchstwahrscheinlich jedoch GO

    (Schachweltmeister Emanuel Lasker)
  • Das ist echt komisch ??

    Ich habe auch ein Gamepad und da kann ich soviel anschließen und entfernen wie ich wil,l ohne FPS-Probleme...

    Kann es nicht seien, das das an irgendeinem Programm im Hintergrund liegt ???
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D
  • Habe noch keine Lösung gefunden, arbeite zurzeit aber auch nicht an dem Projekt, bzw. überhaupt mit dem Game Maker. (habe das Brettspieldesign für mich entdeckt)
    Wenn ich mich -voraussichtlich frühestens in ein paar Monaten- wieder ransetz, und das Problem bis dahin nicht durch ein Wunder/Update gefixt wurde, werd ich mich mal direkt an yoyogames wenden. Bis dahin lass ich es jetzt erstmal auf sich beruhen.

    MfG Waterman7
  • Also ich kann aus eigener Erfahrung sprechen.

    Das Obengenannte Skript hat bereits Einsatz gefunden und ohne die Abfrage hat das ABSTECKEN des Controllers zu extremen FPS Verlusten geführt.
    ZITAT: "Laut Debugger liegts am Step-Event..."
    Falls zu diesem Thema nochmal was kommt bitte AKTUELLES SKRIPT POSTEN .