Smażenie pikseli, czyli glmark2 na pełnych obrotach
Jeszcze jakiś czas temu wykonywanie benchmarków wydajności kart graficznych pod Linuksem nie miało większego celu. Samo w sobie było możliwe, lecz matematyczne wyniki nie miały przełożenia na praktykę – brakowało po prostu programów, które potrafiły wykorzystać moc naszych kart graficznych (bądźmy szczerzy – nie było wymagających gier). Obecnie jednak testowanie wydajności karty graficznych pod poszczególnymi wersjami sterowników jest już uzasadnione i może wspomóc prawidłowe dobranie komponentów systemu, aby w pełni cieszyć się osiągami grafiki. Z kilku benchmarków, które mogą dać nam wyobrażenie o sile rażenia naszej karty graficznej, glmark2 jest najmniej wymagający ale i posiadający bogaty zestaw scenek i opcji.
Co prawda program nie posiada jakiegoś wymyślnego interfejsu użytkownika – uruchamia się go po prostu w terminalu, gdzie wyświetlą się też wszystkie istotne dla nas informacje. Otwierane przez program okno z rysującymi się scenkami możemy regulować za pomocą kilku przełączników dodawanych do polecenia w terminalu. Zapanujemy nad wymiarami okna, testem fullscreen, wyborem konkretnej scenki, zapętlenia itp. Użytkownicy wymagający specyficznych ustawień też znajdą coś dla siebie
– a to uruchomienie zestawu testów z pliku, wybór kontekstu, konfiguracja sposobu wyświetlania. Wszystko po to, aby sprawdzić jakość i sprawność renderowania OpenGL.
Options:
-b, --benchmark BENCH A benchmark to run: 'scene(:opt1=val1)*'
(the option can be used multiple times)
-f, --benchmark-file F Load benchmarks to run from a file containing a
list of benchmark descriptions (one per line)
(the option can be used multiple times)
--validate Run a quick output validation test instead of
running the benchmarks
--frame-end METHOD How to end a frame [default,none,swap,finish,readpixels]
--off-screen Render to an off-screen surface
--visual-config C The visual configuration to use for the rendering
target: 'red=R:green=G:blue=B:alpha=A:buffer=BUF'.
The parameters may be defined in any order, and any
omitted parameters assume a default value of '1'
--reuse-context Use a single context for all scenes
(by default, each scene gets its own context)
-s, --size WxH Size of the output window (default: 800x600)
--fullscreen Run in fullscreen mode (equivalent to --size -1x-1)
-l, --list-scenes Display information about the available scenes
and their options
--show-all-options Show all scene option values used for benchmarks
(only explicitly set options are shown by default)
--run-forever Run indefinitely, looping from the last benchmark
back to the first
--annotate Annotate the benchmarks with on-screen information
(same as -b :show-fps=true:title=#info#)
-d, --debug Display debug messages
-h, --help Display help
Zatem, wydając polecenie:
glmark2 --size 1024x768
… obejrzymy wszystkie renderujące się scenki w oknie o wymiarach 1024×768.
Najistotniejsze jednak będzie to, co po zakończeniu testu wyświetli się nam w terminalu w którym aktywowaliśmy glmark2.
$ glmark2 --size 1024x768
=======================================================
glmark2 2014.03
=======================================================
OpenGL Information
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce GTX 460/PCIe/SSE2
GL_VERSION: 4.4.0 NVIDIA 331.67
=======================================================
[build] use-vbo=false: FPS: 3712 FrameTime: 0.269 ms
=======================================================
glmark2 Score: 3712
=======================================================
Program zainstalujemy bezpośrednio z repozytoriów Ubuntu 14.04 (i tym samym Minta):
sudo apt-get install glmark2
… oraz dla Manjaro i Archa używając repozytorium AUR:
yaourt -S glmark2