Fenster schwarz nach Standby
Re: Fenster schwarz nach Standby
Vielen Dank für Deine Mühe mit dem Code-Beispiel, das werde ich mir gerne mal ansehen, wenn ich wieder Zugang zum WLAN habe oder ich tippe das einfach mal ab.
Ich Schreibe jetzt gerade wieder vom Handy aus
Es wäre ein gewaltiger Aufwand für mich, überall in meinem Code von ScreenOutput() auf SpriteOutput() umzustellen, allerdings waren nun auch gleich meine ersten Versuche dazu fehlgeschlagen, weil die RGB-Farbwerte der Boxen nicht mitgenommen wurden, die "Farbe" war schwarz. Erstmal Schluß damit. Danke nochmal an alle.
Ich Schreibe jetzt gerade wieder vom Handy aus
Es wäre ein gewaltiger Aufwand für mich, überall in meinem Code von ScreenOutput() auf SpriteOutput() umzustellen, allerdings waren nun auch gleich meine ersten Versuche dazu fehlgeschlagen, weil die RGB-Farbwerte der Boxen nicht mitgenommen wurden, die "Farbe" war schwarz. Erstmal Schluß damit. Danke nochmal an alle.
Zuletzt geändert von Re42 am 30.01.2022 15:34, insgesamt 1-mal geändert.
Re: Fenster schwarz nach Standby
Ich mache da jetzt einfach kurzen Prozeß und lasse das Programm beenden, sobald der Energiesparmodus beendet wird. Es reicht ja dann ein einfacher Doppelklick, um das Programm neu zu starten. Das ist jetzt die einzig verbliebene Möglichkeit. Dieser Thread ist lehrreich für jeden Anfänger, der Wert darauf legt, daß seine Programme mit WindowedScreen() ordentlich aus dem Energiesparmodus zurück kommen. Das muß von der Pieke auf berücksichtigt werden.
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Re: Fenster schwarz nach Standby
Wenn Du magst, kannst Du Dein Projekt mal irgendwo hochladen, und ich schaue mir das an, gerne auch per PN, wenn Du nicht möchtest, dass es jeder sieht.
Weil eigentlich haben alle Beispiele in diesem Thread gezeigt, dass man eben nichts beachten muss bei einem WindowedScreen (ganz anders ist das in einem Fullscreen).
Weil eigentlich haben alle Beispiele in diesem Thread gezeigt, dass man eben nichts beachten muss bei einem WindowedScreen (ganz anders ist das in einem Fullscreen).
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
- darius676
- Beiträge: 512
- Registriert: 08.03.2010 22:12
- Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X - Wohnort: AT
- Kontaktdaten:
Re: Fenster schwarz nach Standby
Probier mal dein Problem mit meinem Programm herbeizuführen
https://mark-dowen.itch.io/thorins-world-working-title
Es sollte egal sein ob du in Energiesparmodus wechselst, oder Fenster nach vorne holst, oder mit ALT+TAB durchschaltest usw.
das Program (Spiel) läuft und läuft und läuft.....
ich glaube, dass du das mit der Eventabfrage falsch verstehst? Wenn ich deine Schilderungen lese, habe ich den Verdacht, dein Programm verlässt eine EventSchleife erst sobald ein bestimmter Event eingetroffen ist, oder nur wenn bestimmte Events eintreffen, somit scheint von meinem Verständnis, dein Programm in einer Eventabfrage zu hängen (Kringel), dadurch wird der Rest (Screen) nicht aktualisiert, damit auch keine Grafikausgabe, oder aber dein Programm erreicht die notwendige Eventabfrage gar nicht und daher bleibt das Fenster (WindowedScreen()) mit einem "Kringel"...keine Rückmeldung, zurück.

https://mark-dowen.itch.io/thorins-world-working-title
Es sollte egal sein ob du in Energiesparmodus wechselst, oder Fenster nach vorne holst, oder mit ALT+TAB durchschaltest usw.
das Program (Spiel) läuft und läuft und läuft.....
ich glaube, dass du das mit der Eventabfrage falsch verstehst? Wenn ich deine Schilderungen lese, habe ich den Verdacht, dein Programm verlässt eine EventSchleife erst sobald ein bestimmter Event eingetroffen ist, oder nur wenn bestimmte Events eintreffen, somit scheint von meinem Verständnis, dein Programm in einer Eventabfrage zu hängen (Kringel), dadurch wird der Rest (Screen) nicht aktualisiert, damit auch keine Grafikausgabe, oder aber dein Programm erreicht die notwendige Eventabfrage gar nicht und daher bleibt das Fenster (WindowedScreen()) mit einem "Kringel"...keine Rückmeldung, zurück.
Re: Fenster schwarz nach Standby
Ich sehe das genauso: Es gibt prinzipiell und warum auch immer, Schwierigkeiten in der Event-Verarbeitung. Und das wird meßbar mit der Konstellation Repeat ... Until event = 0, weil dann plötzlich die Erstellung von OpenWindowedScreen() erst gar nicht angefangen werden kann. Der Wert 0 kommt aber rein, wenn ich das mit dem Repeat ... Until event = 0 nicht mache.
Bevor ich den Code abgespeckt hier einstelle, würde ich testhalber erst noch etwas umstellen wollen, was mir jetzt gerade noch einfällt. Ich melde mich wieder.
Bevor ich den Code abgespeckt hier einstelle, würde ich testhalber erst noch etwas umstellen wollen, was mir jetzt gerade noch einfällt. Ich melde mich wieder.
Zuletzt geändert von Re42 am 08.02.2022 00:44, insgesamt 4-mal geändert.
- darius676
- Beiträge: 512
- Registriert: 08.03.2010 22:12
- Computerausstattung: Intel i5 16GB RAM nVidia 1050, Win11
Atari Jaguar, Surface Pro 5,Surface Laptop i5 7200, XBOX ONE X, XBOX Series X - Wohnort: AT
- Kontaktdaten:
Re: Fenster schwarz nach Standby
Wert 0 ? Also wartest du bis kein Ereignis in deinem Programm stattfindet? Ist dieser Zustand garantiert erreichbar?
Wenn auf Fenster/im Fenster gezeichnet wird ist meiner Meinung nach (bitte um Korrektur, falls falsch interpretiert) , immer ein Ereignis aktuell, aber nie "0" , du kannst "0" nie erreichen, daher "kringelt" das Programm, es kommt aus deiner Ereignisbehandlung nicht mehr raus.
Wenn auf Fenster/im Fenster gezeichnet wird ist meiner Meinung nach (bitte um Korrektur, falls falsch interpretiert) , immer ein Ereignis aktuell, aber nie "0" , du kannst "0" nie erreichen, daher "kringelt" das Programm, es kommt aus deiner Ereignisbehandlung nicht mehr raus.
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Re: Fenster schwarz nach Standby
Ein WindowEvent() resultiert in 0, wenn kein Event mehr in der Queue ist.
Genauso gibt ein WaitWindowEvent(5) eine 0 zurück, sobald der Timer (hier 5ms) greift (kann aber sein, dass sich das bei einer großen Anzahl an Events in der Queue auch mal verzögert... denke ich).
Nur WaitWindowEvent() sollte niemals 0 zurückgeben.
Genauso gibt ein WaitWindowEvent(5) eine 0 zurück, sobald der Timer (hier 5ms) greift (kann aber sein, dass sich das bei einer großen Anzahl an Events in der Queue auch mal verzögert... denke ich).
Nur WaitWindowEvent() sollte niemals 0 zurückgeben.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
Re: Fenster schwarz nach Standby
Ich bin gerade von Berufs wegen zwischendurch mal in meiner Zweitwohnung, wo ich jetzt meinen Laptop nicht dabei habe. Der blaue Kringel ist inzwischen weg, das lag daran, daß das Event = WaitWindowEvent(5) versehentlich ein Repeat zu hoch stand.
Das Problem mit dem Energiesparmodus ist ja eigentlich nicht so essenziell, aber trotzdem ist es ja von der Sache her ein totales Nogo, was da überhaupt passiert: Da setzt Windows einen schwarzen Screen ab und widersetzt setzt sich dann auch noch beharrlich mit aller Macht gegen jedweden Versuch, wieder einigermaßen normal aus dem Energiesparmodus herauskommen zu wollen. Mit "einigermaßen normal" meine ich in meinem Fall, dass es mir schon völlig ausreichen würde, wenn wenigstens der Startscreen wieder auf dem Monitor wäre und ich dann das Programm wieder so bedienen könnte, als wäre es gerade frisch gestartet.
Ich will hier mal grob beschreiben, wie mein Programm aufgebaut ist:
a) Inits für Sprites, Maus, Keyboard usw.
b) Loadsounds(), Loadsprites()
c) OpenWindow(), OpenWindowedScreen()
d) Zeichnen der Programm-Oberfläche auf dem WindowedScreen() (ScreenOutput())
e) 1. Repeat-Schleife, gefolgt von 2. Repeat-Schleife, genau wie im PB-Beispiel zu WindowedScreen()
f) Sub-Routinen nach dem End.
Ich hatte inzwischen auch ein winziges abgespecktes Programm gemäß dem obigen Aufbau erstellt, um Fehler ausschließen zu wollen, die sich vielleicht irgendwo in meinem eigentlichen Code verbergen, aber auch so konnte ich die Rückkehr aus dem Energiesparmodus nicht bewältigen.
Wenn mir hier jetzt mal jemand anhand eines kleinen Beispiels zeigen könnte, wie man gemäß dem obigen Code-Aufbau die Rückkehr aus dem Energiesparmodus bewältigt, sage ich jetzt schonmal dafür DANKE! Das Problem dabei ist ja, daß der Ausgangs-Screen nicht dauernd neu gezeichnet werden kann, denn dann wäre ja alles sofort wieder weg, was danach dann noch auf den Screen gezeichnet wird, es sei denn, man würde einen Heidenaufwand betreiben, zum Nachteil der Performance, weil das ja alles Rechenzeit kostet. Eventuell kann man mit meinem Programmtyp ja auch in der Tat nicht aus dem Energiesparmodus zurück kommen und vielleicht läuft es ja nun auch genau auf diese Abklärung hinaus, oder auch nicht, ich bin gespannt.
Das Problem mit dem Energiesparmodus ist ja eigentlich nicht so essenziell, aber trotzdem ist es ja von der Sache her ein totales Nogo, was da überhaupt passiert: Da setzt Windows einen schwarzen Screen ab und widersetzt setzt sich dann auch noch beharrlich mit aller Macht gegen jedweden Versuch, wieder einigermaßen normal aus dem Energiesparmodus herauskommen zu wollen. Mit "einigermaßen normal" meine ich in meinem Fall, dass es mir schon völlig ausreichen würde, wenn wenigstens der Startscreen wieder auf dem Monitor wäre und ich dann das Programm wieder so bedienen könnte, als wäre es gerade frisch gestartet.
Ich will hier mal grob beschreiben, wie mein Programm aufgebaut ist:
a) Inits für Sprites, Maus, Keyboard usw.
b) Loadsounds(), Loadsprites()
c) OpenWindow(), OpenWindowedScreen()
d) Zeichnen der Programm-Oberfläche auf dem WindowedScreen() (ScreenOutput())
e) 1. Repeat-Schleife, gefolgt von 2. Repeat-Schleife, genau wie im PB-Beispiel zu WindowedScreen()
f) Sub-Routinen nach dem End.
Ich hatte inzwischen auch ein winziges abgespecktes Programm gemäß dem obigen Aufbau erstellt, um Fehler ausschließen zu wollen, die sich vielleicht irgendwo in meinem eigentlichen Code verbergen, aber auch so konnte ich die Rückkehr aus dem Energiesparmodus nicht bewältigen.
Wenn mir hier jetzt mal jemand anhand eines kleinen Beispiels zeigen könnte, wie man gemäß dem obigen Code-Aufbau die Rückkehr aus dem Energiesparmodus bewältigt, sage ich jetzt schonmal dafür DANKE! Das Problem dabei ist ja, daß der Ausgangs-Screen nicht dauernd neu gezeichnet werden kann, denn dann wäre ja alles sofort wieder weg, was danach dann noch auf den Screen gezeichnet wird, es sei denn, man würde einen Heidenaufwand betreiben, zum Nachteil der Performance, weil das ja alles Rechenzeit kostet. Eventuell kann man mit meinem Programmtyp ja auch in der Tat nicht aus dem Energiesparmodus zurück kommen und vielleicht läuft es ja nun auch genau auf diese Abklärung hinaus, oder auch nicht, ich bin gespannt.
- HeX0R
- Beiträge: 3042
- Registriert: 10.09.2004 09:59
- Computerausstattung: AMD Ryzen 7 5800X
96Gig Ram
NVIDIA GEFORCE RTX 3060TI/8Gig
Win11 64Bit
G19 Tastatur
2x 24" + 1x27" Monitore
Glorious O Wireless Maus
PB 3.x-PB 6.x
Oculus Quest 2 + 3 - Kontaktdaten:
Re: Fenster schwarz nach Standby
Du kannst nicht erwarten, dass sich jetzt jemand hinsetzt und mit diesen Angaben ein Beispiel für Dich erstellt.
Wenn Du doch so ein "winziges abgespecktes Programm" erstellt hast, das den selben Effekt zeigt, wieso stellst Du das nicht einfach hier rein?
>>Das Problem dabei ist ja, daß der Ausgangs-Screen nicht dauernd neu gezeichnet werden kann
Genau das muss man aber in einem Screen machen!
Wenn Du das nicht machst, dann hast Du einen konzeptionellen Fehler und weder Windows noch PB kann irgendwas dafür!
Nix für Ungut, aber ich bin dann hier raus.
Ich bekomme Kopfschmerzen von zuvielen Erklärungen ohne handfesten Code.
Wenn Du doch so ein "winziges abgespecktes Programm" erstellt hast, das den selben Effekt zeigt, wieso stellst Du das nicht einfach hier rein?
>>Das Problem dabei ist ja, daß der Ausgangs-Screen nicht dauernd neu gezeichnet werden kann
Genau das muss man aber in einem Screen machen!
Wenn Du das nicht machst, dann hast Du einen konzeptionellen Fehler und weder Windows noch PB kann irgendwas dafür!
Nix für Ungut, aber ich bin dann hier raus.
Ich bekomme Kopfschmerzen von zuvielen Erklärungen ohne handfesten Code.
{Home}.:|:.{Codes}.:|:.{Downloads}.:|:.{History Viewer Online}.:|:.{Bier spendieren}
Re: Fenster schwarz nach Standby
Damit ist meine Frage doch beantwortet. Es geht so also überhaupt nicht mit meinem Programm. Ich kann den Screen nicht ständig neu zeichnen, weil genau das dem Programm zuwiderlaufen würde. Evtl. geht es ja mit Canvas, das werde ich im kleinen mal testen. Wie gesagt, habe ich meinen Laptop jetzt in meiner Zweitwohnung gar nicht mit und habe hier auch ohnehin kein Internet. Danke nochmals an alle.