Surface verursacht Crash nach Device-Sleep

  • Allgemein

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

  • Surface verursacht Crash nach Device-Sleep

    Hi,
    ja die Überschrift sagt ja eigentlich schon alles, oder?
    Hab ein Projekt bei dem ich bestimmte Sachen auf Surfaces zeichnen muss.
    Wenn ein Device, egal ob android oder ios dem Game den Focus entzieht, sei es durch einen Anruf oder was auch immer, crashed das Game sobald
    es den Focus wieder bekommt.
    Fehlermeldung ist "Trying to use non-existing surface."
    Ich bin mir aber sicher, dass das Surface nach wie vor da ist. Zumindest wird es nicht von mir gelöscht.
    Löscht GM:S die Surfaces von selbst?? ?(

    MfG
  • Ich kann jetzt nur vom GM auf Windows reden, aber ja das ist normal.
    Wenn bestimmte Ereignisse eintreten (STRG + ALT + ENTF drücken, Standby-modus aktivieren) muss das DIrect3D-Device anschließend resetted werden. Dabei gehen alle Resourcen, die nur im VRAM liegen, verloren. Dazu zählen auch Texturen, auf die gerendert werden kann, im GM als Surfaces bekannt.

    Das einfachste Lösung ist m.E. eine Abfrage, ob das Surface noch existiert. Wenn nicht, dann muss es neu erstellt werden.

    © 2008 by Teamgrill Productions
  • Danke für die flotte Antwort!
    Und vielen Dank für die äußerst hilfreiche Info!
    Da es sich in meinem Fall um Tutorialmessages handelt, welche wir auf ein surface zeichnen (um schönere "alpha"-Ergebnisse zu erhalten)
    lösch ich jetzt vorerst einmal alle Tutorialmessages auf dem screen wenn der Focus verloren geht. Je nach dem wie ich Zeit habe werd ich das evtl noch ändern ;)

    Danke nochmal!
    MfG
  • Partik schrieb:

    Nur sp als Idee: Wäre es nicht einfacher, mit einer einfachen abfrage zu überprüfen, ob die Surface existiert, und sie im zweifelsfall erstellen? Selbstverständlich vor jeder Benutzung. verwende ich auch so, und klappt wunderbar

    Soul Reaver schrieb:

    Das einfachste Lösung ist m.E. eine Abfrage, ob das Surface noch existiert. Wenn nicht, dann muss es neu erstellt werden.
    :saint:
  • Benutzer online 1

    1 Besucher