Counter-Strike 2 – SDL i lagi

Ostatnio postanowiłem przeinstalować mojego Windowsa 10. Powód nie jest ważny i nie chcę się nim dzielić. To jednak wymusiło ponowną instalację często używanego oprogramowania. W tym oprogramowaniu – z jakiegoś powodu – znalazł się Counter-Strike 2.

Zauważyłem jednak, że podczas grania gra lubi sobie zlagować. Moje dochodzenie pokazało, że ma to związek z SDL i tym, że przetwarzanie zdarzeń okna trwa zbyt długo.

Miałem przed reinstalacją podobny problem i wtedy pomogło zrestartowanie Eksploratora Windows, co ułatwia Menedżer zadań.

To jednak nie pomogło.

Wiem jedynie, że takie zachowanie pojawia się po reinstalacji Windowsa (czyli mała szansa, że mamy jeden program za dużo; bardziej prawdopodobne, że brakuje jakiegoś programu) i że ma to jakiś związek z SDL. I nie jest to SocjalDemokratyczna Lewica, tylko międzyplatformowa biblioteka: Simple DirectMedia Layer.

Biorąc pod uwagę, że Valve to mała firma, bez żadnego wsparcia, nie możemy tego zgłosić i prosić ich o pomoc w rozwiązaniu sprawy. Na szczęście inni ludzie też mieli podobne problemy, niestety ich rozwiązania mi nie pomogły.

Ludzie sugerowali, że może mieć to związek z myszką i błędną konfiguracją, więc zainstalowałem logitechowe gówno – które nie pomogło. Restarty CS-a, komputera, czy zmiana ustawień graficznych – nic z tego nie pomogło.

Przejrzałem logi Windowsa; w systemie znalazłem informację, że „Serwer Windows.Gaming.GameBar.PresenceServer.Internal.PresenceWriter nie zarejestrował się w modelu DCOM w wymaganym czasie”. Myśląc, że Windows Game Bar może mieć na coś wpływ, odinstalowałem go również (Get-AppxPackage *Microsoft.XboxGamingOverlay* | Remove-AppxPackage). Niespodzianka – nie pomogło.

Gdy próbowałem odgadnąć, co się mogło zmienić – co miałem zainstalowane wcześniej, czy może odinstalowałem którąś z domyślnych aplikacji Windowsa – olśniło mnie. Eksplorator Windowsa obsrywa się, przy zmianie tapety. Nie tyle się wysypuje, co przez te kilka sekund nie można było zrobić czegokolwiek.

Widzicie, w Windowsie można ustawić automatyczną zmianę tapety. Ja ustawiłem ją na minutę i miałem to ustawienie także przed reinstalacją. Sama częstotliwość zmiany nie wpływa na działanie komputera – albo przynajmniej ja nic takiego nie zauważyłem.

Jednak po reinstalacji zrobiłem to co robię po reinstalacji Windowsa, i przejrzałem co zostało dodane. I zobaczyłem opcję której albo nie było gdy instalowałem to pierwszy raz, albo nigdy na nią nie zwróciłem uwage: Automatycznie wybierz kolor wiodący z mojego tła. To ustawienie wpływa na działanie komputera – po jego aktywowaniu system nie jest responsywny przez kilka następnych sekund.

Nie wiem, czy to fuszerka w jądrze Windowsa, czy samym Eksploratorze Windowsa (bo zmiana tego ustawienia blokuje responsywność całego systemu). Nie wiem czy mogę tutaj zrzucać winę na SDL, czy na Valve – bo cały system się blokuje.

Czytaj dalej „Counter-Strike 2 – SDL i lagi”

Dwarf Quest

We wcześniejszym poście poinformowałem że zabieram się za 2d a nie za 3d, taki mój wybór. Jako bibliotekę graficzną wybrałem SDL-a który swoje już na koncie ma, z wersji 1.2 – bo tylko ona jest dostępna jako stabilna.

We znaki wdała mi się silnikologia – czyli maniera by zamiast gry stworzyć silnik do gry. Po tym jak 5 razy przepisałem kod na nowo, udało mi się to przezwyciężyć. Co prawda gry jeszcze nie ma, i pewnie jeszcze trochę minie zanim wydam jakąś alphe, ale chciałbym się już teraz pochwalić nad czym pracuje. Mam nadzieje że to mnie zmotywuje do dalszego działania i nie usunięcia kodu źródłowego gry po paru dniach. Czytaj dalej „Dwarf Quest”

Z tym OpenGL to sobie poczekamy…

We wcześniejszym poście poinformowałem że zabieram się za naukę OpenGL-a. Po przeczytaniu paru części tutoriala uznałem jednak że nie będę się za to zabierał teraz… Poczekam aż do OpenGL 3.2 będą lepsze kursy, albo poduczę się angielskiego na poziom umożliwiający mi czytanie jakiś poważniejszych publikacji związanych z OpenGL, matematyką, gamedevem itp.

No cóż OGL odkładamy na później.

Jako że 3D jest dla mnie trochę zbyt wielkim wyzwaniem, postanowiłem zrobić coś mniejszego w 2D gdzie mógłbym podszkolić się w pisaniu większych projektów niż „Hello World”.

Jako bibliotekę graficzną wybrałem Simple DirectMedia Layer. Teraz można oczekiwać rezultatów.