Gry na silniku GoldSrc nie działają poprawnie


(Sheaker) #1

Witam.

Problem dotyczy konkretnie gry Counter-Strike 1.6 na silniku GoldSrc (oparty na Quake engine).

Od jakiegoś dawnego czasu ludzie zaczęli mieć problemy z tzw gameplayem i rejestracją pocisków. Grało się niekomfortowo. Gra nie była do końca płynna. Na forum steama jest 187 stron tematu w którym ludzie próbują rozwiązać ten problem. Chciałbym zaznaczyć że nie dotyczy to wszystkich. Na moje oko ok 10 procent graczy. Może mniej.

Ciężko w to uwierzyć ale wydaje mi się że ja znalazłem przyczynę problemu ale niestety nie potrafię poradzić sobie z jego rozwiązaniem. Mam nadzieję że będziecie wstanie pomóc mnie i wielu innym graczom. Do rzeczy:

Każdy chciałby aby gra działała przy 100 fps. Daje to najlepsze warunki do gry.

Dzięki komendzie net_grap 1 mamy możliwość śledzenia parametrów naszego połączenia i pracy komputera na bieżąco.

Najważniejsza jest linia która odpowiada za jakiś rodzaj opóźnienia w renderowaniu klatek albo wysyłaniu pakietów.

W każdym razie kiedy ustawię fps_max 100 owa linia jest baaaardzo nieregularna. Natomiast dla fps_max 30 mam idealnie prostą linię. fps_max 30 to za mało więc próbuję dalej. fps_max 45. Teraz kolejne kropki układają się na zmianę na dwóch kolejnych wysokościach. Następnie dla fps_max 60 dostaje prawie prostą linię (o jeden poziom wyżej niż dla 30) z kilkoma odchyłkami. Teraz gra się w miarę ok, rejestracja pocisków działa, rozrzut prawie prawidłowy. Ale to wciąż nie 100. Dalej dla 90 dostaje coś co przypomina linię z wieloma odchyłkami w obie strony.

Ewidentnie chodzi o wielokrotności fps_max 30. Wtedy gra działa poprawnie. Jednak z jakiegoś innego powodu dla wyższych wartości też pojawiają się częste odchyłki mimo ze mamy do czynienia z wielokrotnością 30. Jednak widać też że charakter linii układa się w prosto co nie ma miejsca w wypadku fps_max 100 gdzie każda kropka jest gdzie indziej.

U większości graczy jest równa zielona linia i fps_max 100 co daje pełny komfort gry. Zatem przyczyna musi leżeć w hardware, software albo w jakiś ustawieniach.

Ewentualnie przydatne informacje: DirectX 9.0c (4.09.0000.0904)

Windows XP sp3 bez żadnych modyfikacji

Intel Core2Duo E4500 2.2Ghz

Radeon HD 4670 1gb

Xonar DS

2*1 gb DDR2 RAM Kingstone

To wszystko na Gigabyte GA-945GCMX-S2 (Rev. 6.6)

Dysk 1tb i 160gb na system.

DirectX 9.0c (4.09.0000.0904)

Jako centrum sterowania układem graficznym jest u mnie Ati Tray Tools

Grę uruchamiam w opengGL na rozdzielczości 640x480 100hz

Z internetem łączem się po linii TP modemem Sagem F@st 800. Używam programu cfosspeed.

Macie jakieś pomysły w czym może tkwić problem?


(Gracz Online) #2

Witaj

Pisałem o identycznych problemach już w kwietniu 2008 roku w temacie sterowniki-x1650pro-agp-pod-counter-strike-t237891.html Właściwie posiadam identyczny sprzęt, co Ty kolego. Radeon HD4670 mocno się grzeje więc zapewnij właściwą wentylację w obudowie. Mogę przetestować Counter-Strike 1.6. Podaj link i instrukcje do instalacji, abyśmy posiadali identyczne wersje gier. Z przytoczonych wyżej informacji wnioskuję, że posiadasz monitor kineskopowy, bo na LCD 100 Hz nigdy nie wyciągniesz. Samsung CRT 700 IFT w 640x480 to z 130 Hz wyciąga.

Po wielu żmudnych czyli czasochłonnych próbach ustalenia przyczyn niedomagań dlaczego stare gry (nie DOS-owe) niepoprawnie działają na nowszych kartach graficznych ustaliłem, że problemu nie rozwiążę (bo programistom nie jestem), lecz ominę go poprzez zbudowanie drugiego komputera do starszych gier i prac biurowych. Przy okazji zadbałem o energooszczędność. Przyczyna leży w stylu filmu pt. "spisek żarówek" na YT. Jeśli ktoś nie wierzy, jak fatalny może być obraz czcionek w NFS 5 na Radeon HD 4670 i jak niska jest wydajność, to może poeksperymentować. Zapewnienie kompatybilności (przez producentów układów graficznych) dla starych gier w sterownikach dla nowych kart graficznych jest nieopłacalne a nawet z punktu programistycznego trudne do zrealizowania. Nowy układ scalony to nowa architektura i trzeba być super mądrym, aby zrealizować te same czynności na nowym sprzęcie, co były wykonywane na starej architekturze. Piszę o emulacji, która na wady i zalety. Wątek ten mógłbym rozszerzyć, lecz z punktu użytkownika komputera jest to mało przydatne. Morał jest z tego jeden: zanim zdecydujesz się wyrzucić lub sprzedać płytę z AGP lub kartę graficzną pomyśl o wstecznej kompatybilności posiadanych gier dla wymarzonego, nowego komputera. Powracając do NFS5 to trzymam GeForce 2 Ti, który super działa na Detonatorach WHQL 21.83 na 2800 MHz procesorze Athlonie 1660 LE a jeszcze szybciej z X800XT na Catalyst w Win 98. Ponadto, aby odpalić bardzo starą grę pod Glide trzeba posiadać 3dfx-a na PCI.

Sheaker, podsumowując problem jest sprzętowo-programowy i można go rozwiązać na dwa sposoby. Łatwiej jest dopasować sprzęt i sterowniki do wymagań gry niż prosić programistów lub samemu przedzierać się przez gąszcze tajników języka programowania. Nie istnieje komputer do wszystkiego. :wink:


(Sheaker) #3

Dzięki za odpowiedź.

Mam chłodno w domu, wentylacja jest zapewniona i karta się nie grzeje.

Monitor oczywiście kineskopowy. Compaq P1220 (160hz dla 640x480 ale nie chcę go obciążać. 100 wystarczy.). Wątpię żeby miał na to jakikolwiek wpływ.

Generalnie rzeczywiście jest tak jak mówisz że wygląda to na jakiś brak kompatybilności wstecznej przy starszych grach. Ale nie jest tak do końca. Osoby z którymi rozmawiałem na ten temat (mówię o tych u których wszystko działa dobrze) niekoniecznie mają starsze komputery z wejściem na AGP. Niejeden ma bardzo nowoczesny komputer i gra działa idealnie. Więc nie jest to tak mocne twierdzenie jak by się wydawało. Przyczyną nie może być sam fakt "za nowego" sprzętu.

Do czasu jak były organizowane (A to nie tak dawno. Na pewno mój komp jest słabszy.)to na LANach też raczej były komputery z najwyższej półki.

Jak by ktoś miał jeszcze różne inne pomysły to mówić! pisać!


(Gracz Online) #4

Wyłącz adaptacyjny antyaliasing (wygładzanie krawędzi z wykorzystywaniem przesunięcia ramek), ponieważ działanie ściśle jest uzależnionego od synchronizacji pionowej i częstotliwości odświeżania obrazu mon monitora.


(Sheaker) #5

Hmm. Powiesz jak to zrobić? Posiadam ATT:


(Gracz Online) #6

Antyaliasing adaptacyjny jest dostępny w Catalyst Control Center. W nowszych sterownikach, to nie wiem. Kombinowałem z różnymi ustawieniami, aby zepsuć grafikę w CS, lecz na próżno. Przetestowałem grę na trzech systemach operacyjnych i dwóch odmiennych konfiguracjach sprzętowych. W Windows 98 z Athlon-em XP 2200+ L2 512KB na KT400 AGPx8 z ATI X800XT na obniżonych zegarach o połowę, na sterownikach Cat 6.2 oraz w Windows XP z Pentium D obniżonym do 1,7GHz, Ii945PL, na ATI Radeon HD 4870 na sterownikach 6.14.0010.6822 6/3/2008 05:21:06 (English) czyli Cat 8.6 lub 8.5 przy udziale kineskopowego monitora ustawionego na 60 Hz w XP, a na w Win 98 na 100 Hz przy 640x480x32 bit OpenGL i nie wystąpił opisany, przez Ciebie, kolego problem. W Win 98 nie działa tryb D3D, ponieważ kończy się błędem. Ciekawy jest tryb software. Wydajność 60 fps a w OpenGL 75 do 100 fps. Radzę eksperymentowanie z wersjami sterowników to karty graficznej, ponieważ gra Counter-Strike 1.6 w OpenGL bezpośrednio się odwołuje do sterownika karty graficznej a nie poprzez system, jak jest to w przypadku DirectX.

Rada na koniec tematu jest taka, abyś zjechał z 100 Hz na rzecz 75 Hz lub ostatecznie 85 Hz bo Twój monitor zepsuje się wkrótce. Zarżnąłem w ten sposób super monitor za 1300 zł LG FT795. Teraz mam Samsunga 700ITF kupionego za 80 zł. Gdzie ja miałem rozum, aby nowe sprzęty kupować. A teraz uszkodzonego SymMastera LCD 19" z 2008 naprawiłem i jestem do przodu.

Cześć


(Sheaker) #7

Hehe drogi kolego o mój monitor się nie martw. To Compaq p1220 i 100hz przy 1024x768 nie jest mu w żaden sposób straszne. Od 3 lat tak dział i nic się nie dzieje!

A co do tematu to rzeczywiście spróbuje jakieś najstarsze sterowniki do tej karty graficznej i zobaczę co to da.

EDIT:

Tak po prawdzie to dziś miałem wrażenie że raczej przyczyna leży gdzieś między grą a modemem albo między grą a procesorem. Gram normalnie na tych 60 fps i nagle przez jakieś 10 sek robi się tak samo źle jak było wcześniej z tą linią (i nic się przez ten czas trafić nie da) natomiast fps było równo 60,5. Okazało się że przez te 10 sek była sprawdzana dostępność aktualizacji antywirusa no więc coś łączyło się dodatkowo z internetem no i coś się uruchamiało co zużywało zasoby procesora.


(Gracz Online) #8

Przepraszam za niedopatrzenie z mojej strony spowodowane rzeczami oczywistymi dla mnie, których zawsze przestrzegam. Nigdy nie gram z włączonym w tle programem antywirusowym i włączonymi automatycznymi aktualizacjami czegokolwiek, ponieważ w czasie rozgrywki online zazwyczaj powstają problemy, pozornie nie do rozwiązania gdy zaczynamy stawiać bezpieczeństwo antywirusowe swojego komputera ponad wymagania gier komputerowych i innych programów. Automatyczne aktualizacje mają to do siebie, że włączają się wtedy gdy użytkownik nie ma czasu na ich instalowanie. Potem wiele mitów się rodzi, że u Ciebie działa a u mnie nie. Wiele razy widziałem zatroskanych nauczycieli, gdy nie mogli wyłączyć szybko komputera, lub uruchomić aplikacji bo widniał napis, że dany program pobiera aktualizacje i należy czekać. Na twarzach osób pojawia się wyraz twarzy "proszę o pomoc bo nie panuję na komputerem".

W życiu codziennym denerwują mnie domofony w miejscach użyteczności publicznej. Niby przed czym ma mnie chronić taki domofon? Tylko człowiek czeka nie potrzebnie przed dźwigami w zimnie a gdy prądu zabranie, to do domu się nie dostanie nawet lekarz z pogotowia ratunkowego. Cóż, że będę miał telefon? Gdy człowiek sam jest w domu i gdy przyjdzie czarna godzina, to nawet nie będzie maił siły na otwarcie domofonu. W imię bezpieczeństwa społeczeństwo jest gotowe oddać swoją wolność i twierdzić, że jest lepiej. Czy aby na pewno :?: :idea: Trochę pytań retorycznych. Czy posiadając komputer ze staje włączonym oprogramowaniem antywirusowym, że PC-et jest dobrze chroniony? Czy walka z wirusami komputerowymi nie jest sztuczne skomercjalizowana?