Co oznacza komunikat OpenGL "utracono połączenie"?
Zobaczyłem tą wiadomość w dzienniku zdarzeń:
Sterownik NVIDIA OpenGL utracił połączenie ze sterownikiem graficznym z powodu przekroczenia limitu czasu oczekiwania i nie może kontynuować.
Aplikacja musi zostać zamknięta
Co to znaczy?
Jeśli dostałeś taką wiadomość w aplikacji (na wyskakującym oknie lub w dzienniku zdarzeń), aplikacja nie była w stanie kontynuować renderowania ponieważ narzucony przez Microsoft Windows limit czasowy (TDR) został przekroczony. Zwykle jest to sytuacja że ilość poleceń przesłanych na kartę graficzną jest większa niż to, co karta graficzna jest w stanie przetworzyć w normalnie przeznaczonym czasie 2 sekund.
Możesz dowiedzieć się więcej na tej stronie:
Timeout Detection and Recovery (TDR)
Jak można to naprawić?
Dwa możliwe rozwiązania do wypróbowania to:
- Zredukować obciążenie karty graficznej jeśli jest to możliwe, jak na przykład wyświetlanie w niższej rozdzielczości lub redukcja szczegółów.
- Jeśli twoja karta jest fabrycznie podkręcona, włącz Tryb debugowania w Panelu sterowania NVIDIA w menu Pomoc. Jeśli ta opcja jest wyszarzona, znaczy to że twoja karta działa na referencyjnych prędkościach zegara NVIDIA.
Zaawansowani użytkownicy mogą spróbować wartość czasową i pozwolić na więcej czasu na ukończenie zaawansowanego renderingu. Microsoft daje informacje jak to zrobić modyfikując rejestr Windows:
https://msdn.microsoft.com/en-us/library/windows/hardware/ff569918(v=vs.85).aspx