Compiz, a wydajność grafiki

Compiz, a wydajność grafiki

przez -
7 681
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.