Compiz, a wydajność grafiki

Compiz, a wydajność grafiki

    przez -
    7 536
    Pulpit
    Kilka dni temu opisywaliśmy różnicę w wydajności między system Archlinux, a Ubuntu. W obu przypadkach zastosowano tą samą konfigurację sprzętową, te same pakiety i domyślnie włączonego Compiza w drugim systemie, czego pierwszy nie posiadał. W jednym teście dało to zdumiewające wyniki. Serwis phoronix.com postanowił zrobić kolejne testy na sprawdzenie, dlaczego tak się dzieje.

    Okazuje się, że nawet jeżeli gry i testy OpenGL są uruchomione w pełnym ekranie, w pewnych konfiguracjach sam Compiz ma wpływ na wydajność. Compiz sam w sobie nie zatrzymuje się w momencie uruchomienia gry albo aplikacji w pełnym ekranie, on dalej działa w tle, wykorzystując pośrednie renderowanie (komunikacja z kartą graficzną po przez X Serwer). Tymczasem używając upiększającego menedżera okien, możemy zyskać, w czasie uruchamiania programów na pełnym ekranie z wykorzystaniem OpenGL, jak szybsze przełączanie i klika innych ulepszeń. Ale dla większości użytkowników Compiz nie jest potrzebny i może powodować spadki wydajności w postaci pośredniego renderowania i kilku innych czynników związanych z menedżerem kompozycji okien na Linuksie.

    Testy wykonano z wykorzystaniem:

    • Procesor Intel Core i3 530 taktowanym 3.32 GHz
    • Płyta główna ECS H55H-M
    • Pamięć RAM 2GB
    • Dysk SSD 65GB OCZ Vertex
    • Grafika: zintegrowana grafika Clarkdale, ATI Radeon HD 4830, NVIDIA GeForce 9800GT

    Wszystkie testy wykonano na zainstalowanym Ubuntu 10.04 z:

    • jądrem Linux 2.6.32-21-generic x86_64
    • Gnome 2.30.0
    • X.Org Server 1.7.6
    • Mesa 7.7
    • sterownik xf86-video-intel 2.9.1
    • sterownik xf86-video-ati 6.13.0
    • sterownik Catalyst 10.4
    • sterownik Nvidia 195.36.15

    Każdą konfigurację z innym sterownikiem wykonano w rozdzielczości 1920×1080, podczas włączonego Compiza z “Normalnymi” efektami pulpitu, oraz kiedy używano Metacity, w opcją “Wyłączonych” efektów pulpitu.

    Testowano wbudowaną grafikę Intel Clarkdale ze sterownikami Intela, grafikę ATI z własnościowymi sterownikami Catalyst, grafikę Nvidia z własnościowymi sterownikami NVIDIA Linux, i otwarty sterownik graficzny ATI Radeon, kiedy używano kernel-mode-setting z DRI2 oraz kiedy używano user-space-mode-setting razem z poprawkami kodu DRI1. W przeciwieństwie do sterownika Intel, programiści otwartych sterowników AMD nie porzucili jeszcze wsparcia dla ich wspieranego user-space-mode-setting. Sterownik AMD posiada wsparcie DRI2, kiedy używa nowszej poprawki kodu KMS.

    Gry, które zostały użyte do testów:

    • Warsow
    • OpenArena
    • World of Padman
    • Tremulous
    • Urban Terror
    • Nexuiz
    • VDrift
    • Unigine Sanctuary
    • Unigine Tropics
    • Unigine Heaven
    • Lightsmark

    Kilka gier mogło być uruchomionych z własnościowymi sterownikami ATI/NVIDIA, jako że najnowsze otwarte sterowniki Mesa nie wspierają ich.

    Legenda [Compiz / Metacity ]

    Warsow 0.5

    Intel: 20.93 / 24.07

    Mesa: 3 / 4

    Catalyst: 223.30 / 225.67

    Nvidia: 210.50 / 252.67

    OpenArena 0.8.5

    Intel: około 30 / 37.33

    Radeon+KMS: 47.70 / 54.80

    Radeon+UMS: 62.70 / 62.67

    Catalyst: 302.83 / 305.37

    Nvidia: 411.87 / 512.67

    World of Padman 1.2

    Intel: 20 / 42

    Radeon+KMS: 36.63 / 44.30

    Radeon+UMS: 59.90 / 59.90

    Catalyst: 254.67 / 258.58

    Nvidia: 400.13 / 444.27

    Tremulous 1.1.0

    Intel: 48.03 / 56.60

    Radeon+KMS: 92.37 / 60.10

    Radeon+UMS: 106.90 / 106.67

    Catalyst: 174.07 / 171.40

    Nvidia: 176.63 / 180.00

    Urban Terror 4.1

    Intel: 31.00 / 38.10

    Radeon+KMS: 37.50 / 43.70

    Radeon+UMS: 54.40 / 54.40

    Catalyst: 128.55 / 129.95

    Nvidia: 175.15 / 179.60

    Powyższe wyniki testów jasno pokazują, jak uruchomiony Compiz wpływa na wydajność w grach, w stosunku do Metacity. Na sterownikach Intel wydajność zwiększała się około 15%, sterowniki Radeon wykazywały niewielkie zmiany, tak samo sprawa się tyczy sterowników Catalyst. Natomiast sterowniki Nvidia wykazywały od 11% do prawie 30% w zależności od gry. Jednakże gra Tremulous zaskoczyła przy sterownikach Radeon+KMS, gdzie włączony Compiz zwiększał wydajność 0 54%, w przeciwieństwie do Metacity. Tymczasem na innych sterownikach nie było widać żadnej różnicy wydajności.

    Nexuiz 2.5.2

    Catalyst: 141.04 / 126.37

    Nvidia: 102.97 / 118.02

    VDrift 2009-06-15

    Catalyst: 85.61 / 85.60

    Nvidia: 64.00 / 69.02

    Unigine Sanctuary 2.2

    Catalyst:35.74 / 35.69

    Nvidia: 33.65 / 36.97

    Unigine Tropics 1.2

    Catalyst: 31.90 / 31.91

    Nvidia: 28.45 / 32.47

    Unigine Heaven 2.0

    Catalyst: 20.95 / 22.00

    Nvidia: 14.56 / 25.34

    Lightsmark 2008

    Catalyst: 290.30 / 297.98

    Nvidia: 315.25 / 418.29

    Kolejna garść testów jasno pokazuje, że na sterowniki Catalyst nie ma wpływu menedżer okien, natomiast sterowniki Nvidia mają przyrost wydajności od 10% do 63%. Sterowniki Intel, Mesa oraz Radeon nie obsługiwały nowości programowych OpenGL.

    Podsumowując można stwierdzić, że otwarte sterowniki do gier po prostu się nie nadają. Ich wydajność jest po prostu kiepska w porównaniu do sterowników własnościowych Nvidia, czy ATI. Jednakże mogą one w niektórych przypadkach uruchamiać Compiza i korzystać z części jego funkcji. Najlepiej dopracowanymi i najwydajniejszymi okazały się sterowniki Nvidia, których przyrost wydajności w prawie każdym teście był ogromny.

    • Greg

      Czy ja dobrze kumam… Włączenie Compiza przyśpiesza grę?

    • Barthalion

      Źle, wyłączenie.

    • Greg

      Początek artykułu mnie zmylił. Wydaje się jakby Compiz pomagał. No i nie podobają mi się testy. W pierwszej części testów jest wykazane, że Compiz spowalnia gry.

      W drugiej części mamy napisane:

      Jednakże gra Tremulous zaskoczyła przy sterownikach Radeon+KMS, gdzie włączony Compiz zwiększał wydajność 0 54%

      to ja nie kumam już… :/

      No i drugi wynik testów prawie wynikami się nie różni od poprzedniego.

    • Tylko @Greg, zauważ, że w drugiej części testów nie ma innych sterowników, niż własnościowe, o czym wspomniałem. Dlatego podzieliłem to na dwa.

      Jak to nic nie kumacie? We wszystkich testach widać wyraźne, gdzie Compiz wpływa na wydajność, a gdzie nie.

    • Czyli jak się gra na Linuxie to lepiej wyłączyć Compiza?

    • @Pablo

      Dokładnie.

      Właśnie to miały pokazać owe testy. Że używanie Compiza i granie, to raczej nie jest dobre połączenie. Aczkolwiek spójrzcie na rozdzielczość podczas testów. Było to Full HD, czyli jakby mieć 1280×1024, to raczej różnicy wydajnościowej by się tak nie odczuwało.

    • Czyli jak gram przez wine to będę gasił compiza.