Ergebnis 1 bis 11 von 11

Thema: 10 Sekunden Ladezeit -> "Script is hanging"

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Case Closed!

    okay hab ein Ergebnis erzielt, und zwar nehme ich das von -KD-.

    beides geht, jedoch ist das von -KD- nochmal stabiler laut meinen Betatestern aus USA :P

    also nochmals thx und Credits sein euch spendiert.

    mfg
    Fox

  2. #2
    Wenn du es stabil haben willst, wäre evtl. sogar ein
    Code:
    def long_running_process
      thread = Thread.new do
          loop do
            sleep(5.0)
            Graphics.update
          end
      end
      yield
    ensure
      thread.kill
    end
    zu überlegen. Macht dasselbe, bricht den Thread aber auch beim Wurf einer Exception korrekt ab. In der Praxis ist das aber wahrscheinlich egal, da 99,9% aller Exceptions eh zum kompletten Absturz des Spiels führen.

  3. #3
    öhm okay, jetzt wirds mir dann doch zu hoch :P

    trotzdem thx, läuft nu ja alles.

    ausser du magt hier noch kurz und bündig erklären, was eine "Exception" ist ^^

    mfg
    Fox

  4. #4
    Wenn irgendein Fehler im Programm auftritt, z.B. eine Musik-Datei nicht gefunden werden kann, wird eine Exception geworfen. Das kannst du dir wie 'ne Art interne Nachricht vorstellen, auf der der Fehler beschrieben wird. Das Programm gibt diese Nachricht jetzt an verschiedene Ebenen weiter bis irgendwann jemand die Nachricht abfängt und den Fehler behandelt, z.B. in dem er einfach festlegt das eine andere Musik stattdessen gespielt werden soll. In der allerletzten, obersten Ebene wird die Exception immer abgefangen, eine Fehlermeldung ausgegeben und das Spiel beendet.
    Wenn jetzt innerhalb des Animationsladens irgendein Fehler auftritt, der außerhalb des Animationsladens aber behandelt wird, dann bleibt der long_running_process-Thread trotzdem am Leben. Dieser Prozess, sorgt aber im Hintergrund dafür, dass das Spiel nicht abstürzt. Wenn das Animationsladen zuende ist, soll er aber beendet werden, sonst verbraucht er nur unnütze Ressourcen. In der jetzigen Variante wird der Thread korrekt beendet, wenn eine Exception geschmissen wird.
    Man ist aber selten in der Lage eine Exception zu behandeln, und normalerweise macht man das auch sehr frühzeitig (z.B. direkt nach dem Laden der Musikdatei und nicht erst etliche Ebenen darüber). Daher ist das eher ein theoretisches Problem, was in der Praxis wohl selten auftauchen sollte.

  5. #5
    wow, sehr detailiert, habs auch mit verstanden.

    nochmal thx -KD-

    erm naja, jetzt ist aber echt mal schluss mit diesem thread xD
    habs ja immerhin hin bekommen ^^

    mfg
    Fox

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •