Dlaczego SOLIDWORKS pokazuje komunikat o niskich zasobach? Obiekty GDI

Obiekty GDI służą do rysowania elementów w obszarze graficznym w wielu programach, również w SOLIDWORKS. Przy otwarciu każdego nowego dokumentu SOLIDWORKS rezerwuje kolejne elementy GDI. Od wersji 2011 SP4 przy zamknięciu dokumentu zasoby zostają zwolnione. Zdarza się jednak, że obiekty nie są czyszczone a ich liczba w długim procesie działania SOLIDWORKS drastycznie wzrasta. W momencie, gdy liczba wykorzystanych obiektów przez proces SLDWORKS.exe zacznie zbliżać się do 10000, dostaniemy odpowiedni komunikat o niskich zasobach SOLIDWORKS.

Jak sprawdzić aktualną wartość obiektów GDI i zapobiegać przedstawionym sytuacjom w przyszłości?

W pierwszym kroku należy przejść do Menadżera zadań (skrót CTRL+SHIFT+ESC) na zakładkę Procesy. Z paska menu należy wybrać Widok – Wybierz kolumny, znaleźć i zaznaczyć Obiekty GDI.

Zasoby nie są zwalniane głównie w momencie, gdy z poziomu złożenia otwierany jest dokument części i za chwilę zamykany. Jeśli wartość jest duża i zbliża się do 10000 najlepiej ponownie uruchomić SOLIDWORKS, aby w szybki sposób zwolnić zasoby całego procesu SOLIDWORKS. Drugi sposób uwzględnia wykorzystanie ustawień Windows zawartych w rejestrze w celu zmiany limitów.

Aby tego dokonać należy:.

Uruchomić Edytor Rejestru (w menu start wpisać regedit).

Przejść do lokalizacji

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\

Kliknąć prawym przyciskiem myszy na kluczu GDIProcessHandleQuota i wybrać Modyfikuj

W oknie zmienić wartość na 30000 przy zaznaczeniu opcji Dziesiętny.

Analogicznie warto zmienić wartość klucza USERProcessHandleQuota na wartość 14000.

Wartości jakie można podać dla obu kluczy to:

256 – 65536 dla GDIProcessHandleQuota

200 – 18000 dla USERProcessHandleQuota

Ustawienie wartości tych kluczy na maksymalne jest niezalecane ze względu na to, że może to prowadzić do niestabilności całego systemu Windows. Zmiany w edytorze rejestru należy wykonywać bardzo ostrożnie, nieumiejętne wykorzystanie edytora rejestru prowadzić może do uszkodzenia systemu Windows, za co nie odpowiadamy.

Post: Dlaczego SOLIDWORKS pokazuje komunikat o niskich zasobach? Obiekty GDI