Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

08.02.2016, 18:34

C++ SFML; Window pausiert wenn man auf die Titlebar klickt

Hallo,
wie oben beschrieben, ist mir aufgefallen, dass mein Fenster immer dann wenn ich es an der Titlebar anklicke pausiert. Das heißt es läuft zwar im Hintergrund die Zeit weiter aber es werden keine Aktionen mehr vom Programm umgesetzt, was dazu führt, dass sobald man nicht mehr klickt, ein riesiger Sprung entsteht. Hierzu denke ich brauche ich keinen Code zeigen, da sich dieser wie der Standardcode zur Fensterinitialisierung etc. verhält.

Meine Frage ist, ob man dies irgendwie unterbinden kann. Vielen Dank im Voraus.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

2

08.02.2016, 20:14

Nö, da gibt's leider keine vernünftige Lösung, die System-übergreifend und wirklich funktional ist.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

3

09.02.2016, 08:54

Unter Windows bleibt das Programm in einer modalen Nachrichtenschleife 'hängen', daher wird die Nachrichtenschleife, die du in deinem Programm eingebaut hast, nicht mehr ausgeführt. Die Lösung wäre, eine interne Schleife in einem eigenen Thread einzubauen, einkommende Events werden in den Hauptthreae delegiert.

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

09.02.2016, 09:44

Das geht allerdings nur für Windows. Unter OS X würde das z.B. crashen. Daher sagte ich, dass es keine System-übergreifende Lösung dafür gibt. Zusätzlich bliebt bei dieser Lösung der EventWait-Thread hängen, falls nichts mehr kommt und er müsste vom Main-Thread aus gekillt werden, was nicht so richtig cool ist.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige