środa, 29 maja 2013

R600g vs Catalyst - otwarty sterownik coraz bardziej konkurencyjny

Chcę się tutaj podzielić ostatnimi spostrzeżeniami dotyczącymi sterowników dla Radeonów: otwartego R600g (Mesa 9.2) i własnościowego Catalyst 13.4 oraz 13.6 Beta. Próbowałem uruchomić kilka gier na Radeonie HD 6670. Oto wyniki moich prób:

Half-Life 2 (Portal, Episode One i Two) - z jakiegoś powodu synchronizacja pionowa pozostaje włączona w przypadku R600g, stąd zwykle widzę stałe 60 klatek na sekundę. Przy Catalystach nie ma tego problemu - można zobaczyć nawet 299 kl./s (ograniczenie gry). W obu przypadkach nie pojawiają się błędy w wyświetlaniu, niestety dla R600g nie mogłem włączyć żadnej metody wygładzania krawędzi.

Jest pewien szczegół, który sprawia, że przyjemnie gra się tylko na R600g. Catalysty generują potężny tzw. "input lag". Jest to opóźniona reakcja gry na ruch myszki. Ten problem nie wystąpił w przypadku R600g. Ciekawostka: podobnego, trochę mniej nasilonego problemu doświadczyłem także na układach Nvidii z własnościowym sterownikiem.

Hotline Miami - na R600g działa idealnie. Na Catalystach w ogóle się nie uruchamia - wcześniej działało, ale z bardzo niską wydajnością.

Dear Esther - wersja z Humble Bundle opakowana w Wine. Na R600g działa idealnie, zawsze minimum 30 kl./s przy niemal maksymalnych (4xAF, bez AA, reszta maks.) ustawieniach grafiki. Bez zacięć i spowolnień. To chyba najlepiej opakowana gra w "butelkę Wine" jaką kiedykolwiek widziałem. Duże poziomy z zapierającymi dech widokami bez jakiejkolwiek (tak, Crysis się chowa:-) widocznej redukcji detali. No i startuje szybciej niż jakakolwiek, nawet natywna, gra na silniku Source.

W przypadku Catalystów pojawia się spadek wydajności (głównie jaskinie) nawet do 10 kl./s.

Serious Sam 3: BFE - na średnich ustawieniach Catalysty pozwalają na osiągnięcie 25-40 kl./s. Niestety pojawia się sporo błędów w wyświetlaniu (intro, migające palmy czy cienie), a także spowolnienie wyświetlania podczas dłuższej rozgrywki.

R600g do niedawna był w stanie zapewnić coś w granicach 1-5 kl./s. Obecnie, przy ustawieniach: procesor - średnie, grafika - średnie, pamięć karty graficznej - niskie, można liczyć na 10-30 kl./s z okresowymi "chrupnięciami." Do stanu "grywalnego" już niewiele brakuje. No i najważniejsze: nie zauważyłem błędów w wyświetlaniu poza doczytywaniem tekstur. Widać, że są problemy z zarządzaniem pamięcią karty graficznej. 


Wydajność
Jest coraz lepiej. A jeśli wierzyć wynikom w Unigine Heaven opublikowanym na Gears on Gallium to R600g już niemal dorównuje Catalystom.

Aktualizacja

Włączenie optymalizacji shaderów potrafi podnieść wydajność otwartych sterowników o nawet 50-100%. Zresztą spójrzcie na zrzuty z Dear Esther (niestety Blogger je przeskalował z 1920x1080 do 1600x900) wykonane po uruchomieniu gry przez:

R600_DEBUG=sb R600_LLVM=0 dearesther




Licznik klatek na sekundę znajduje się w górnym lewym rogu ekranu. Ostatni zrzut ekranu przedstawia najbardziej wymagający moment gry - tam właśnie Catalysty potrafiły wygenerować jedynie 10 kl./s.

3 komentarze:

  1. Czy można (i jak) wpisać R600_DEBUG=sb R600_LLVM=0 do xorg.conf, żeby nie trzeba było o tym pamiętać?

    OdpowiedzUsuń
  2. Można, ale nie w xorg conf, a tam gdzie definiowane są zmienne środowiskowe (o ile pamietam trzeba dodać exporty w /etc/profile).
    W Mesa 9.3/10.0 sb będzie już włączone domyślnie.
    Natomiast do R600g dobrze jest doinstalować jeszcze opcjonalną bibliotekę S3TC, nie ma o tym ani słowa w artykule, a tylko wtedy porównanie jest fair. Catalysty mają wbudowaną obsługę kompresji tekstur, a mesa ze względów patentowych - nie

    OdpowiedzUsuń
  3. Przykrą cechą otwartych sterowników Radeona dla Linuksa jest to, że do dziś dnia mają "nieprzyspieszone" najprostsze, a więc te najbardziej podstawowe operacje, jak np. rysowanie zwyczajnych, prostych linii.
    Nie, nie mówię o OpenGL - tylko np. wystarczy odpalić jakiś skrypt w TCL/Tk, i porównać, jak to działa na jakiejś starej NVidii, a jak na nowym Radeonie (różnica w obciążeniu procesora jest BARDZO widoczna). Autorzy coś widocznie od lat "olewają" tak podstawowe sprawy. :/

    OdpowiedzUsuń