TwojePC.pl © 2001 - 2024
|
|
T E C H N I K A |
|
|
|
Z archiwum X: AGP aperture size vs GeForce
|
|
NICR4M
15/03/01
|
Tekstem tym chciałbym otworzyć nową serię artykułów - "Z archiwum X". Oczywiście nie będziemy zajmować się inwazją kosmitów, czy tajemniczymi zniknięciami sąsiadów. Chcę, aby nasze archiwum zawierało sprawy trudne (lub niemożliwe) do wyjaśnienia, a które dotyczą dziwnego i niecodziennego zachowywania się naszego sprzętu. Akta przeróżnych dziwnych zjawisk chciałbym rozpocząć od sprawy, która mnie ostatnio bardzo zaintrygowała, jednak do dziś nie mogę znaleźć jej sensownego rozwiązania. Dzisiejszy przypadek dotyczy bowiem związku pomiędzy parametrem AGP aperture size, a (na razie) kartami graficznymi opartymi o rdzeń GeForce'a (GF256, 2GTS, 2MX). W czym leży problem? Jeśli chcesz wiedzieć - czytaj dalej.
|
AGP aperture size - termin znany każdemu, kto w swej przygodzie z PC zajrzał choćby raz do BIOS'u swojego komputera... Nie wiesz czym jest BIOS i AGP apeature size? No dobrze - już wyjaśniam te dwa "fachowe" terminy. Jeśli natomiast BIOS masz w małym palcu, to pomiń dwa poniższe wywody.
BIOS to oprogramowanie na stałe zapisane w układzie umieszczonym na każdej płycie głównej (tiaaa... tej dużej, w którą wkłada się wszystkie te karty graficzne, muzyczne, pamięci i procesor). Oprogramowanie to zapewnia nam współpracę wszystkich komponentów komputera na podstawowym poziomie, a ponadto możemy dzięki niemu wpływać (w rożnym stopniu - zależnie od producenta) na pracę całego systemu. Przy każdym starcie komputera jesteśmy informowani o możliwości "wejścia" do BIOS'u (to ten napis typu "press DEL to enter Setup"). Niedoświadczonym nie proponuję jednak na razie wchodzenia do BIOS'u. Lepiej uczynić to pod nadzorem kogoś z nim obytego, kto wyjaśni podstawy poruszania się po nim i zasad postępowania w przypadku nieumyślnej awarii, bo jak wspominałem ustawienia BIOS'u mają ogromny wpływ na wydajność/stabilność komputera.
AGP aperture size - dotyczy obsługi karty graficznej AGP, a dokładniej - określa ile pamięci operacyjnej (RAM) chcemy przeznaczyć na dane (najczęściej tekstury - kolorowe obrazy, którymi są pokrywane trójwymiarowe obiekty w dzisiejszych grach), które nie zmieszczą się w lokalnej pamięci karty graficznej (zazwyczaj ma ona od 8 do 32 megabajtów). Najczęściej wartość parametru AGP aperture size może wynosić 4, 8, 16, 32, 64, 128, 256 megabajtów. Pamięć ta jest wykorzystywana w sposób dynamiczny, to znaczy, że karta używa jej tyle, ile jest w danej chwili niezbędne (bez przekraczania ustalonej w BIOS'ie wartości). To my (ew. producent komputera) decydujemy o tym jaki obszar pamięci udostępnimy, przez odpowiednią zmianę wartości tej opcji BIOS'u.
Przy licznych eksperymentach mających na celu wydobycie maksimum możliwości z mojego komputera, czasami zdarza mi się doprowadzić do resetu ustawień BIOS'u mojej płyty głównej. Wszystkie "optymalne" parametry znam oczywiście na pamięć, więc nie mam problemów z ich przywróceniem. Niedawno zdarzyło mi się jednak pominięcie zmiany wartości AGP aperture size z domyślnych 4MB na bardziej słuszne 128MB. W tym przypadku płytą główną był Abit BX133 Raid (na chipsecie i440BX Intela) + 256MB pamięci RAM, a kartą graficzną: GeForce2 GTS z 32MB pamięci, pracujący z AGP2X (2x100MHz + sidebanding) + procesor P3-1050MHz. Jak to mam w zwyczaju czynić, postanowiłem sprawdzić nowe "niereferencyjne" sterowniki - Detonators v.10.50. Jako pierwszy uruchamiam zawsze test 3DMark 2000 v1.1, gdzie dzięki szczegółowym wynikom mogę porównać wydajność nowych sterowników do niezawodnych (na razie) referencyjnych wersji 6.31, i 6.50. Jakież było moje zaskoczenie, gdy zobaczyłem poniższe wyniki (a należy pamiętać, że nie wiedziałem o 4MB aperture size). Rezultaty są o wiele niższe, niż zazwyczaj - szczególnie ilość obrabianych poligonów na sekundę z różną ilością świateł. Oto porównanie dla obu wartości badanego parametru:
Kolosalne różnice, nieprawdaż? Tu zaczęło się moje pierwsze dochodzenie, które otwiera nasze "Archiwum X".
Jak się domyślacie, przywrócenie "starych" detonatorów, nie przyniosło poprawy wyników. Już miałem zabierać się za reinstalację WindowsME (Norton Ghost RULES!), gdy przy rutynowym sprawdzianie wszystkich ustawień BIOS'u, ze zdziwieniem ujrzałem 4MB jako wartość AGP aperture size. Cóż, ostatnia próba przed reinstalacją systemu. Tym razem jednak przy 128MB wspomnianej pamięci AGP. No i... powrót do normy. WOW! Nie wiedziałem, że AGP aperture size ma tak wielki wpływ na ilość obrabianych poligonów w przypadku korzystania z T&L. Sądziłem raczej, że dotyczy to jedynie prędkości, z jaką karta wyświetla dużych rozmiarów tekstury. Przeprowadziłem więc testy, których wyniki zamieszczam poniżej:
Duża rozbieżność wyników. Bardzo wyraźny spadek ogólnego wyniku 3DMark, przy zejściu poniżej 32MB AGP aperture size. Sytuację jeszcze bardziej zależną od ilości pamięci AGP przedstawi następny wykres:
Tak! To żadna manipulacja. Ilość TPS (obrabianych trójkątów na sekundę) spada drastycznie, wraz ze spadkiem pamięci udostępnianej karcie graficznej. Czy to jednak tylko wina starzejącego się chipsetu BX, który m.in. nie obsługuje nowszego (2 razy szybszego) trybu przesyłania danych - AGP4X?
By zaspokoić swoją ciekawość, przeprowadziłem kolejny test, tym razem na płycie z chipsetem VIA Apollo Pro 133A (lub inaczej VIA 694X), który w 100% obsługuje AGP4X. Kartą testową był tym razem GeForce2 MX (firmy Creative Labs) z 32MB pamięci DDR (AGP4X + FastWrites) + procesor CeleronII 700MHz. Jak myślicie, co uzyskałem?
Ilość pamięci RAM, którą udostępnimy kartom z rodziny GeForce, ma spory wpływ na wydajność w przypadkach silnego wykorzystania jednostki T&L (duża liczba poligonów i świateł). Zdaje się, że obok tekstur, w pamięci udostępnionej przez AGP są składowane również jakieś dodatkowe dane, gdyż sama tekstura nakładana podczas testu High Poligon Count w 3DMarku zajmuje bardzo mało miejsca, i z pewnością mieści się w 32MB pamięci karty. Do tej pory nie znalazłem innego wyjaśnienia tego zjawiska.
Zobaczmy, jak zachowuje się Q3 w przypadku różnych wartości AGP aperture size. Do testów użyłem dema DEMO001, w rozdzielczości 800x600 32bit kolor + 32bit tekstury (bez kompresji S3TC) i z wszystkimi możliwymi fajerwerkami graficznymi na max. Wyniki uzyskane na chipsecie VIA 694X były bardzo podobne (oczywiście jeśli pominąć różnice w wydajności Pentium3 i Celerona), więc tym razem jedynie rezultaty z BX'a.
Znowu widzimy tajemniczą granicę pomiędzy 32 a 16MB udostępnianej pamięci. Nie widać natomiast wzrostu FPS (wyświetlanych klatek na sekundę) w zakresach poza tą granicą. Jednynie w rozdzielczości 1600x1200 zauważyłem małą (2-3FPS) poprawę przy AGP aperture size większym, niż 32MB. Bardzo zaskakującym jest fakt, iż różnica w wynikach przekracza 40%, i to w normalnej grze, bo przecież Q3A to nie syntetyczny test 3Dmark.
Przy okazji wykonywania licznych testów w 3DMarku 2000 - postanowiłem porównać wydajność T&L vs. SSE. Omawiany spadek wydajności występuje także w przypadku nie używania T&L, gdy pamięć AGP jest określona pomiędzy 4 a 16MB, nie jest więc to tylko błąd(?) T&L.
Z moich obserwacji wynika, że ów niewyjaśniony spadek wydajności kart GeForce występuje niezależnie od tego, czy program pracuje w środowisku Direct3D, czy w OpenGL. Ilość danych w pamięci karty graficznej także nie ma znaczenia (np. przy zmianie rozdzielczości tekstur na wartość minimalną w teście Q3Arena). Najbardziej prawdopodobnym wytłumaczeniem jest to, że sterowniki Detonators używają pamięci AGP nie tylko do składowania tekstur, ale także tworzą jakiś dodatkowy bufor (być może są to dane takie jak siatki modeli 3D, lub tekstury aktualnie nie używane w renderowanej scenie, a które już raz były załadowane do pamięci karty i czekają na ponowne, tym razem szybsze wywołanie). Niezaprzeczalny staje się fakt, iż karty oparte o chip GeForce (niestety nie miałem możliwości sprawdzenia tego na kartach z 64MB) - dla poprawnej pracy wymagają przynajmniej 32MB dodatkowej pamięci AGP. W przeciwnym przypadku wydajność pracy naszego GF może spaść nawet o połowę. Radzę wszystkim sprawdzić (lub poproście kogoś obeznanego z BIOS'em o pomoc) wartość AGP aperture size, i ewentualnie zmienić wysokość tego parametru do poziomu posiadanej ilości pamięci RAM (64 - 256MB). Często bowiem zdarza się, że producenci płyt głównych (i osoby składające komputery) jako optymalną (czyli wg nich najbardziej stabilną i wydajną) ilość pamięci AGP ustalają na poziomie 4-16MB.
Jeżeli macie jakieś propozycje rozwiązania tej zagadki (najbardziej zależy mi teraz na sprawdzeniu zachowania się kart z 64MB pamięci, jak też np. kart z ATI Radeon), to proszę o podesłanie mi swoich spostrzeżeń i wyników. Adres kontaktowy znajdziecie na początku artykułu. Czekam również na propozycje kolejnych tajemniczych zjawisk, które należałoby poruszyć.
|
|
|
|
|
|
|
|
|
K O M E N T A R Z E |
|
|
|
- Spadek wydajności (autor: busol-brak rejestracji | data: 2/10/02 | godz.: 18:54)
Powyższe zachowanie wynika z ilosci przydzielonej pamieci systemowej na potrzeby karty. We współczesnych grafikach, karta sama sobie wysysa dane z pamieci systemowej tzn. jesli wiecej jej jest to karta moze wiekszymi paczkami odbierac dane. Podobno (bo nie sprawdzalem) parametr aparature size działa w ten sposób że i tak ustawiając 128MB w pamieci systemowej jest dostępne dla karty tylko połowa i ja nie wiem czemu. Jak ktoś wie to niech napisze. Podejrzewam ze znaczny spadek przy 32MB u Ciebie może być także związany z ilościa dostepnej pamieci na karcie jak tez zachowaniem się systemu operacyjnego co do obsługi tej pamięci.
|
|
|
|
|
|
|
|
|
D O D A J K O M E N T A R Z |
|
|
|
Aby dodawać komentarze, należy się wpierw zarejestrować, ewentualnie jeśli posiadasz już swoje konto, należy się zalogować.
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|