ś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.

środa, 1 maja 2013

FreeCAD: nowy moduł dokumentacji 2D

Luke Parry pracuje nad nową wersją warsztatu Drawing obejmującego tworzenie dokumentacji dwuwymiarowej (rzutowanie prostokątne, wymiarowanie, dodawanie adnotacji itd.). Nareszcie wprowadzono narzędzia wymiarowania parametrycznego.

Jeśli chcesz przetestować nowy (będący we wcześniej fazie rozwoju) warsztat, musisz skompilować FreeCAD-a samodzielnie. Poniżej znajdziesz krótką instrukcję.

Przede wszystkim musisz potrzebne są narzędzia i paczki deweloperskie podane na wiki programu FreeCAD.

Następnie konieczne jest sklonowanie źródeł z githuba:

git clone https://github.com/mrlukeparry/FreeCAD_sf_master.git
 

Przejdź do katalogu z pobranymi źródłami:

cd FreeCAD_sf_master/

Przełącz się do gałęzi "drawing":

git checkout drawing

Utwórz nowy katalog dla plików tworzonych podczas kompilacji (jest to tylko zalecany krok):

mkdir Build && cd Build

Uruchom cmake i uaktywnij wsparcie dla odpluskwiania (FreeCAD może być nieco wolniejszy, ale opcja ta będzie przydatna jeśli wystąpi błąd w działaniu programu):

cmake - DCMAKE_BUILD_TYPE=Debug ../
 

Skompiluj pliki, liczba powinna odpowiadać ilości wątków obsługiwanych przez Twój procesor:

make -j8

Po udanej kompilacji uruchom FreeCAD-a:

./bin/FreeCAD



Otwórz lub utwórz jakąś bryłę. Przełącz się do warsztatu Drawing i utwórz nową stronę (Page).


Dwukrotnym kliknięciem (w drzewie cech) otwórz nowy widok strony.


Zaznacz bryłę w drzewie i utwórz nowy widok (View). Widoki (jak i wymiary) mogą być przesuwane za pomocą myszy.





Wybierz krawędź i dodaj nowy wymiar. Podpowiedź: uaktywnij widok zaznaczenia (Selection view) w menu Widok (View) by widzieć które elementy są zaznaczone.


W karcie Dane (Data) możesz zmienić promień na średnicę.


Dodaj inne wymiary: długość linii, odległość między dwoma punktami (użyj Ctrl by je zaznaczyć), promień i średnica są dostępne.


Wróć do modelu 3D i zmień cokolwiek.


Dokumentacja 2D powinna także ulec zmianie.


Nowy warsztat dokumentacji 2D powstaje dopiero od niedawna i wciąż w nim brakuje wielu elementów (jak strzałki, symbole, osie, wymiary kątowe, przekroje) i może mieć poważne błędy.
Jego rozwój można śledzić tutaj - jak widać pierwszy post pochodzi z końca stycznia tego roku. Wygląda na to, że najważniejsze problemy zostały już przezwyciężone.