Einzelnen Beitrag anzeigen

idontknow

Registriert seit: 21. Apr 2008
Ort: Schleswig-Holstein
60 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Windows-Energieoptionen: Monitor aus -> OpenGL friert ein

  Alt 26. Apr 2022, 18:56
Ja, wird immer aufgerufen.

Ich habe mittlerweile auch die "Caption := Uhrzeit"-Zeile in DreieckMalen verlagert. Uhrzeit wird immer sofort nach dem Aufwachen des Bildschirms aktualisiert.

Ausserdem prüfe ich jetzt die Rückgabe von SwapBuffers (immer TRUE) und prüfe auf GL-Fehler. Es gibt keine...

Echt seltsam.

Es liegt übrigens irgendwie mit am Grafikchip oder Treiber:
- Auf meinem 2011er-Imac (Windows 10) mit AMD-6900M kommt es zu dem Hänger.
- Auf meinem Acer Predator Notebook (Windows 10) kommt es zu dem Hänger, wenn das Programm auf dem intel UHD530 Grafikkern läuft. Wenn die Grafikausgabe auf den Nvidia-Chip umgeschaltet wurde, hängt das Programm nicht.
- Auf einem dritten Rechner (Asus-Mainboard, Core-i7-10700K, Windows 11) gab es bisher nie einen Hänger. Allerdings auch hier intel-Chipsatz-Grafik.

So ein richtiges System kann ich da nicht erkennen:

UHD530 Win10 Problem
UHD630 Win11 läuft
AMD 6900M Win10 Problem
Nvidia GTX980M Win 10 läuft






Delphi-Quellcode:
  ...
  if not SwapBuffers(OpenGLContextMain.DevCon) then
  begin
    Caption := 'SwapBuffers fehlgeschlagen: ' + GetLastError().ToString;
    HoldError := TRUE; // einmal Error, immer Error anzeigen.
  end;

  if not HoldError then
  begin
    e := glGetError();
    if e <> GL_NO_ERROR then
    begin
      Caption := gluErrorString(e);
      HoldError := TRUE; // einmal Error, immer Error anzeigen.
    end;
  end;

  if not HoldError then
    Form1.Caption := TimeToStr(Now); // Uhrzeit als WindowTitle läuft weiter
Oliver
  Mit Zitat antworten Zitat