Wykorzystywanie dwóch kart graficznych do renderowania grafiki w grach nie jest czymś nowym.
Pierwsze rozwiązanie tego typu ujrzało światło dzienne już w 1998 roku. Nieistniejąca obecnie firma 3dfx zaprezentowała wtedy technologię SLI (ang. Scan-Line Interleave). Umożliwiała ona łączenie w pary kart graficznych Voodoo 2, pod warunkiem że miały identyczną ilość pamięci. Obie karty zajmowały się generowaniem tej samej klatki obrazu, która była podzielona na szereg poziomych linii równej szerokości (stąd też Scan-Line w nazwie). Jedna karta graficzna była odpowiedzialna za parzyste, a druga za nieparzyste linie. Obie karty łączyło się taśmą, dającą się ponoć spreparować z tej, która normalnie jest używana do podłączania stacji dyskietek.
Rozwinięciem tej idei było umieszczenie dwóch układów graficznych na jednej płytce drukowanej w Voodoo 5 5500, ostatnim produkcie tej firmy. Nie wytrzymał on jednak naporu konkurencji i firma 3dfx ostatecznie została wykupiona przez firmę NVIDIA.
Można jeszcze dodać, że 3dfx było w trakcie opracowywania układu Voodoo 5 6000, który miał mieć aż cztery chipy współpracujące ze sobą. Na świecie istnieje kilka egzemplarzy testowych, które należą głównie do kolekcjonerów (niektóre nawet działają, a grupa fanów napisała do nich sterowniki). Sama karta jednak nie zdążyła trafić na półki sklepowe. Ciekawostką było to, że karty miały być sprzedawane z własnym zasilaczem i miały ponad 31 cm długości.
Tutaj można znaleźć wiele ciekawych zdjęć testowych egzemplarzy tej karty graficznej. Warto zobaczyć.
Rozwiązanie podobne do tego z Voodoo 5 zaprezentowało ATI w konstrukcji RAGE Fury MAXX. Dwa układy Rage 128 Pro współdziałały ze sobą w trybie AFR (ang. Alternate Frame Rendering), w którym to jeden układ był odpowiedzialny za parzyste, a drugi za nieparzyste klatki animacji.
Rozwiązania dwuukładowe nie przyjęły się na rynku głównie przez problemy ze sterownikami, a upowszechnienie się łącza AGP spowodowało brak możliwości łączenia dwóch kart ze sobą.
Czas jednak płynął, a tęgie głowy opłacane przez producentów kart graficznych myślały intensywnie, jak wyciągnąć dodatkowe pieniądze od potencjalnych klientów.
Gdy na płytach głównych na stałe zagościło łącze PCI Express, otworzyło to drzwi do powrotu rozwiązań korzystających z kilku kart graficznych.
Pierwsza z okazji skorzystała NVIDIA, reaktywując w roku 2004 nazwę SLI, a dokładniej – sam skrót, ponieważ nazwa wyewoluowała w Scalable Link Interface. Pół roku później ATI odpowiedziało swoim CrossFire i rozgorzała zaciekła walka, w której spóźnialscy początkowo odrobinę przegrywali.
Przez pewien czas po narodzinach w SLI mogły współpracować jedynie takie same modele kart, mające identyczną ilość pamięci oraz pochodzące od tego samego producenta. Co prawda CrossFire umożliwiało łączenie w pary kart o różnej ilości pamięci, wyprodukowanych przez różnych producentów, a nawet mających odmienną liczbę potoków renderujących, jednak nękało je kilka innych bolączek.
W przypadku pierwszej wersji CrossFire, która zagościła na rynku w czasach Radeonów X800, trzeba było mieć specjalną wersję karty CrossFire Edition. Kartę taką łączyło się z jej zwyczajnym odpowiednikiem za pomocą zewnętrznego kabla w kształcie litery Y.
Cały problem polegał na tym, że karty CrossFire Edition było bardzo ciężko dostać, a obraz, który mógł być generowany przez taki tandem, był ograniczony do rozdzielczości 1600x1200 przy 60 Hz.
Wraz z serią X1800 ATI rozwiązało problem ograniczenia rozdzielczości, a dzięki układowi X1950 nie trzeba było używać karty CrossFire Edition. Dodatkowo nietypowy kabelek zastąpiono bardziej eleganckimi, elastycznymi mostkami, podobnymi do tych stosowanych przez konkurencję.
Z serią 3800 zniknęła konieczność używania dwóch mostków jednocześnie, a wraz z pojawieniem się sterowników Catalyst w wersji 8.3 pojawiła się możliwość łączenia ze sobą nawet trzech lub czterech kart.
Jak już wspomnieliśmy we wstępie, CrossFire z ciekawostki dla osób z nadmiarem pieniędzy, które z jakiegoś powodu chcą ten nadmiar wydać na drugą kartę, stało się jednym z głównych elementów strategii AMD.
Świadczy o tym na przykład ten slajd:
Widać tutaj dwa produkty skierowane na rynek mainstream, a powyżej 300 dolarów mamy ich pary.
W teorii i na slajdzie wygląda to całkiem nieźle. Segment rynku poniżej 300 dolarów jest najbardziej dochodowy. Także skupianie się na stosunkowo małych i łatwych (a co za tym idzie – tanich) w produkcji układach ma sens z ekonomicznego punktu widzenia.
Zanim przejdziemy do odpowiedzi na pytanie: czy to działa, postaramy się powiedzieć, jak to działa.
Sposoby renderowania obrazu
Głównym problemem, który muszą rozwiązać producenci, jest sposób, w jaki karty (lub układy) dzielą się pracą.
Na poprzedniej stronie artykułu wspomnieliśmy o dwóch głównych sposobach rozwiązywania tego problemu. Chipy graficzne mogą ze sobą współpracować przy generowaniu tej samej klatki bądź generować klatki w całości, każdy inną.
Starszym z nich i praktycznie już wymarłym jest „tryb współpracy nad jedną klatką”. W ciągu 10 lat powstało kilka jego głównych odmian.
Pierwsza to tryb znany z pierwotnego SLI ze stajni 3dfx, który już pokrótce omówiliśmy, czyli dzielenie klatki na Scan Lines.
Druga to tryb o nazwie Scissor/Split-Frame Rendering (nazywany także ATI SFR i NV SFR), czyli dzielenie klatki na dwie części, których wyrenderowanie powinno zająć obu kartom zbliżoną ilość czasu. Zarówno w przypadku „czerwonych”, jak i „zielonych” działa to bardzo podobnie, a różnica w nazwach jest spowodowana odmiennymi algorytmami zarządzającymi podziałem obciążenia. Wychodzi to różnie i czasem jedna karta się nudzi, gdy druga jeszcze ciężko pracuje nad swoim kawałkiem obrazu.
Trzeci i chyba najlepszy tryb to SuperTiling, który występuje wyłącznie w produktach ATI. Klatka jest w nim dzielona na szachownicę, składającą się z kwadratów o rozmiarze 32x32 piksele. Zapewnia to bardzo równomierne rozdzielenie pracy pomiędzy układy, co na dodatek zachodzi praktycznie automatycznie, bez żadnych dodatkowych obliczeń.
Efekt pracy obu układów jest składany w całość i wysyłany do monitora, dzięki czemu możemy się cieszyć naszą ulubioną grą.
Brzmi to nieskomplikowanie, jednak w praktyce jest zupełnie inaczej. Sterownik musi się nieźle napocić, aby zarządzać zasobami niezbędnymi do wygenerowania danej części obrazu i przydzielać je odpowiedniej karcie. Łatwo jest podzielić wynikowy obraz na części, jednak bardzo często jedna jego część jest zależna od drugiej. Jest tak przy obliczeniach związanych z geometrią, przy mapach wypukłości czy cieni. Elementy wykorzystywane w renderowaniu obrazu (trójkąty) bardzo często przekraczają takie granice i układy muszą się ciągle komunikować przy ich tworzeniu.
Owocowało to czasem... spadkiem wydajności przy wykorzystaniu drugiej karty. Dlatego producenci postanowili całkowicie przejść na Alternate Frame Rendering, który znacznie częściej zapewnia właściwe skalowanie. Ponieważ każda karta (układ) pracuje nad własną klatką, otrzymuje cały zestaw potrzebnych informacji. Znikają w ten sposób wszystkie wady wyżej wymienionych trybów.
W teorii wygląda to tak, że gdy pierwsza karta wyprodukuje połowę swojej klatki, to druga zaczyna renderować swoją. W takiej idealnej sytuacji otrzymujemy 100% wzrostu wydajności i idealną synchronizację.
W praktyce nie jest tak kolorowo i po drodze pojawia się jeszcze kilka trudności do pokonania. Co się dzieje, gdy wygląd klatki zależy w dużej mierze od poprzedniej? W ekstremalnych przypadkach druga karta musi czekać, aż pierwsza ukończy wszystkie niezbędne obliczenia. Coś takiego może zabić całą koncepcję skalowalności. Gry DirectX 10 są szczególnie oporne pod tym względem, i przygotowanie profilu, który zapewnia przyzwoity wzrost wydajności, wymaga dużo pracy. Czołowym przykładem jest tutaj Crysis. Po wydaniu dwóch łatek i kilku wersji sterowników w końcu uzyskano jakie takie skalowanie, które i tak jest dalekie od ideału.
Gra po prostu musi być przystosowana do współpracy z kilkoma układami graficznymi, a panowie od sterowników muszą zarwać kilka nocek i wypić hektolitry kawy, aby przygotować odpowiedni profil.
Jednak nawet gdy już mamy świetnie przystosowany silnik oraz doskonały profil, problemy się nie kończą.
Trzeba pamiętać, że średnia liczba klatek na sekundę, którą może wygenerować tandem kart, nie oznacza dokładnie tego samego, co może wygenerować jedna karta. Minimalna liczba klatek na sekundę nie skaluje się tak dobrze jak maksymalna. Z takiej sobie minimalnej liczby klatek i świetnej maksymalnej wychodzi nam całkiem niezła średnia. 40 kl./s w przypadku pojedynczej karty to trochę inne 40 klatek niż te uzyskane przez CrossFire/SLI. Szczególnie gdy weźmiemy pod uwagę wspomniane przed chwilą opóźnienia.
Ostatnim i największym problemem jest odpowiednia synchronizacja. O tym jednak trochę później.
Podsumowując, przed naszymi ulubionymi producentami kart graficznych stoi wiele wyzwań i radzą sobie z nimi coraz lepiej.
Teraz już spokojnie możemy przejść do odpowiedzi na pytanie: czy to działa.
ASUS EAH4870 TOP
Gdy mamy do czynienia z kartą graficzną ASUSA i na pudełku widnieje napis TOP, oznacza to dwie rzeczy: produkt ten jest fabrycznie podkręcony, a w pudełku znajdziemy nietypowy dodatek.
I tym razem nie byliśmy zawiedzeni. W pudełku znalazł się referencyjny Radeon HD 4870, przyozdobiony naklejką z tradycyjnym dla ASUSA motywem azjatyckiej amazonki.
Układ graficzny jest taktowany zegarem o 65 MHz wyższym niż standardowy, czyli 815 MHz zamiast 750. Pamięci otrzymały „bonus” w postaci 25 MHz i są taktowane zegarem 925 MHz (3700 MHz efektywnie).
W prostym, głównie pomarańczowym pudełku jest ukrytych kilka skarbów, strzeżonych przez znaną nam Azjatkę. Wśród nich znajduje się zestaw przejściówek do wyjść karty graficznej. Fani podłączania telewizora do karty graficznej otrzymują przejściówkę z gniazda mini-DIN na trzy wtyczki cinch (HDTV Component) oraz z mini-DIN na pojedynczy cinch (czyli z S-Video na Composite). Osoby narzekające na niedobór wtyczek PCI Express ucieszą się z przejściówki z dwóch moleksów na PCI Express sześciopinowe.
Poza tym otrzymujemy przejściówkę z DVI na HDMI, z DVI na D-sub oraz mostek CrossFireX. Zestaw płyt dostarczonych z kartą jest niewielki: dostajemy jedynie płytę ze sterownikami w wersji 8.501 oraz płytę z instrukcją obsługi w 20 językach.
Ostatnim „skarbem” jest podkładka pod mysz, pokryta skóropodobnym tworzywem. Niestety, zapach, który jej towarzyszył, zniechęcił nas do sprawdzenia jej przydatności.
MSI R4870-T2D512
ASUS ma swoją wojowniczkę, a MSI ma swojego orka z wypalonymi oczami. Czyżby MSI chciało tym trafić w gusta „prawdziwych facetów”? O gustach się nie dyskutuje, jednak z dwojga złego lepsza już chyba jest azjatycka Xena.
Jest to karta referencyjna z podmienioną naklejką na schładzaczu. MSI nie zdecydowało się jednak na fabryczne podkręcenie zegarów.
W pudełku z uchwytem znajdujemy zestaw przejściówek bardzo podobny do tego, z którym mamy do czynienia po otworzeniu opakowania karty ASUSA. Brakuje jedynie przejściówki z dwóch wtyczek typu molex na sześciopinową PCI Express.
Otrzymujemy za to ciekawszy zestaw oprogramowania, a raczej gier. Kupując kartę MSI, kupujemy jednocześnie pełną wersję gry Colin McRae: DiRT oraz wersję testową gry Lord of the Rings Online: Shadow of Angmar.
Zestaw testowy
Testy CrossFireX przeprowadziliśmy na następującej platformie:
Model | Dostarczył | |
---|---|---|
Procesor: | Intel Core 2 Extreme QX9770 @ 4 GHz | www.intel.pl |
Płyta główna: | ASUS P5E3 Premium WiFi-AP | pl.asus.com |
RAM: | OCZ DDR3 1800 (PC3-14400) Platinum Edition (2x 1 GB) | www.extrememem.pl |
Dysk twardy: | Seagate Barracuda 7200.8 400 GB | www.seagate.com |
Zasilacz: | Cooler Master RS 850 EMBA | www.coolermaster.com |
Monitor: | Samsung SyncMaster 305T (30 cali, 2560x1600) | www.samsung.com |
A tak wyglądała platforma SLI:
Model | Dostarczył | |
---|---|---|
Procesor: | Intel Core 2 Extreme QX9770 @ 4 GHz | www.intel.pl |
Płyta główna: | ASUS Striker II Extreme | pl.asus.com |
RAM: | OCZ DDR3 1800 (PC3-14400) Platinum Edition (2x 1 GB) | www.extrememem.pl |
Dysk twardy: | Seagate Barracuda 7200.10 1000 GB | www.seagate.com |
Zasilacz: | Cooler Master RS 850 EMBA | www.coolermaster.com |
Monitor: | Samsung SyncMaster 305T (30 cali, 2560x1600) | www.samsung.com |
Wydajność Radeonów HD 38x0 oraz ich par była sprawdzana przy sterownikach Catalyst 8.7. Radeony HD 48x0 oraz ich pary były obsługiwane przez sterowniki w wersji 8.501.1.0
W teście poza kartami prezentowanymi przed chwilą zostały użyte konstrukcje:
- Referencyjny Radeon HD 3850 256 MB
- Sapphire Radeon HD3850 Ultimate
- ASUS EAH3850 Smart OC
- Referencyjny Radeon HD 3870 512 MB
- 2x ASUS EAH4850
- 2x Sapphire HD4870
- ASUS ENGTX260 TOP
- ASUS ENGTX280
Testy syntetyczne
Na początek seria 3DMarków. Przyda się odrobina wyjaśnienia. Poza wykresami z liczbą punktów (a w grach – ze średnią liczbą klatek na sekundę) zamieściliśmy wykresy, które pokazują, ile procent wydajności pojedynczej karty osiągają dwie. Krótko mówiąc, liczby te pokazują skalowalność.
W wynikach testów syntetycznych można zauważyć dwie ciekawe rzeczy. Po pierwsze, skalowanie znacznie się poprawia wraz ze wzrostem rozdzielczości. Nie jest to żadne wielkie odkrycie, gdyż było to wiadomo od dawna. Druga obserwacja jest trochę ciekawsza. Można zauważyć, że Radeony HD 4000 skalują się lepiej niż starsze konstrukcje. W przypadku poprzedniej generacji produktów AMD osiągamy maksymalne skalowanie na poziomie 60%, a w przypadku najnowszych konstrukcji – nawet 88%.
Zobaczmy, czy to samo zjawisko zachodzi w grach.
Assassin's Creed
Testy były wykonywane podczas gry w Damaszku, czyli typowym otoczeniu dla tej gry. W takim środowisku nasz QX9770... okazuje się wąskim gardłem dla modelu 4870 CrossFire aż do rozdzielczości 2560x1600. Słupek skalowania dwóch 4850 drgnął odrobinę wcześniej, bo przy 1920x1200.
Ogólnie wydajność w tym tytule o wiele lepiej skaluje się z procesorem niż z kartą graficzną (poza nielicznymi terenami poza miastem) i jest to jedna z niewielu gier, która korzysta z możliwości czterordzeniowych procesorów.
Maksymalne skalowanie na poziomie 65,7% nie szokuje. Mimo wszystko pojedynczy Radeon HD 4870 zapewnia płynną animację w każdej rozdzielczości.
Bioshock
Bioshock jest już dość starym tytułem i brak możliwości wymuszenia wygładzania krawędzi w sterownikach (w Catalystach; w sterownikach do kart NVIDI-i jest to możliwe) powoduje, że o ile starsze Radeony skalują się przyzwoicie już w rozdzielczości 1680x1050, to dopiero przy najwyższych ustawieniach dwie karty z układami RV770 mogły rozwinąć skrzydła. W pewnym sensie przynajmniej, bo 69 kl./s Radeona HD 4850 to i tak wystarczająco, aby zapewnić komfortową rozgrywkę.
Call of Duty 4: Modern Warfare
Wybór lokacji do mierzenia wydajności w Call of Duty 4 okazał się trochę niefortunny, bo dość szybko znaleźliśmy limit. Tym bardziej że CrossFire skaluje się naprawdę świetnie w tym tytule. Jednak nie ma tego złego, co by na dobre nie wyszło. Wyniki osiągnięte przez Radeony HD 4850 spowodowały, że postanowiliśmy nie zmieniać metodologii (przynajmniej na razie).
Tak, to nie pomyłka. 112,5% wzrostu wydajności po dołączeniu drugiej karty. Na początku sami nie mogliśmy uwierzyć, ale wykonanie dodatkowych 10 testów nie zmieniało wyniku. Możliwe, że odkryliśmy dowód na to, że 1+1 = 2,1 ale jeszcze to zbadamy.
Call of Juarez
Testy w tej grze były przeprowadzane w ustawieniach DX9 za pomocą Frapsa, a nie oddzielnego benchmarku. Co ciekawe, nie ma tutaj dominacji AMD, jak to ma miejsce, gdy testy są wykonywane tą aplikacją. Można nawet zauważyć lekką przewagę kart „zielonych” nad Radeonami. Ciekawym zjawiskiem jest to, że o ile w grze korzystającej z dziewiątej wersji API Microsoftu przy starcie wita nas logo NVIDI-i, o tyle po wgraniu łatki DX10 wita nas już ładne logo AMD. Jednak teorie spiskowe nie są tematem tego artykułu.
Jak widać, skalowanie jest świetne. Znaczna przewaga nowej generacji kart nad starszą. Skalowanie wydajności nowych dzieci AMD cały czas przekracza 90%.
Company of Heroes
Karty AMD zawsze trochę odstawały od NVIDI-i w tej grze. Jednak CrossFire zmienia układ sił. Dzięki świetnemu skalowaniu (do 100%) tandem „czterdzieści osiem pięćdziesiątek” może z powodzeniem walczyć z GeForce'em GTX 280, a dwójka ich starszych braci jest już bezkonkurencyjna w wyższych rozdzielczościach.
Crysis
Crysis jest znany z tego, że dokładanie dodatkowych kart niewiele pomaga. W nowszych Radeonach widać jednak pewną poprawę i możemy osiągnąć „aż” 40% wzrostu średniej liczby klatek na sekundę. Stanowczo nie jest to wynik powalający na kolana.
Niestety, jeszcze sobie trochę poczekamy na całkowicie płynną i komfortową grę w najwyższych ustawieniach (nie mówiąc już o wygładzaniu krawędzi).
Enemy Territory: Quake Wars
Tutaj jest niezbędne drobne wyjaśnienie. Najnowszy tytuł korzystający z silnika idTech 4 jest dość kapryśny. To, że na wykresach skalowania nie odnotowujemy wzrostu wydajności dla dwóch kart serii 3, nie oznacza, że CrossFire w tym tytule nie działa. Z jakiegoś powodu zmuszenie tej gry do uznania, że mamy dwie karty, a nie jedną, wymagało kilku dość losowych zmian sterowników.
Standardowe sterowniki, których używaliśmy do dwóch kart 4850, nie chciały z nami współpracować w tej grze. Pomogło zainstalowanie Catalystów 8.7. Z drugiej strony, gdy testowaliśmy wydajność przy dwóch Radeonach HD 4870, zainstalowaliśmy wcześniej sterowniki w wersji 8.7 i... i tak nie działało. Dopiero zainstalowanie poprzednich sterowników spowodowało, że uzyskaliśmy wzrost wydajności oraz kilka migających tekstur, które przestały się wymigiwać od współpracy z nami po kilku restartach i zmianach ustawień.
Za karę nie szukaliśmy działającej kolejności instalowania sterowników dla starszych kart. Prawdopodobnie w nowszych sterownikach będzie częściej działający profil.
Skalowanie jest dość przeciętne: trochę ponad 40% w większości przypadków.
Half-Life 2: Episode Two
Source jest przykładem dobrze napisanego silnika. Mimo już dość podeszłego wieku nadal świetnie wykorzystuje zalety najnowszych kart graficznych w każdej rozdzielczości, zarówno w pojedynczej, jak i podwójnej konfiguracji.
W niższych rozdzielczościach lepiej się skalują Radeony HD 38x0, natomiast w wyższych widać znaczną przewagę pod tym względem nowych produktów AMD.
Prey
Prey także korzysta z silnika idTech 4, tyle że trochę starszego. Widzimy przeciętne skalowanie, z wyraźną przewagą dwóch Radeonów HD 48x0.
Race Driver: GRID
GRID wyraźnie woli karty AMD (ekolodzy prawdopodobnie są oburzeni, bo to dowód na to, że firma Codemasters nie promuje szacunku dla zieleni w swojej najnowszej grze wyścigowej). Niestety, w rozdzielczości 2560x1600 nasze pary odmówiły działania z niewiadomych przyczyn. Zapewne trzeba czekać na nowe sterowniki. Skalowanie jest przeciętne, jednak znowu widać przewagę nowych Pięćdziesiątek.
Pomimo tego, że pojedynczy Radeon HD 4870 kończy wyścig ze średnią liczbą klatek na sekundę w okolicach 46 w najwyższej rozdzielczości, gra nie jest komfortowa. W niektórych momentach po prostu przycina. Jest to oznaką, że tekstury z GRID z chęcią zamieszkałyby w trochę większej ilości pamięci.
S.T.A.L.K.E.R.
S.T.A.L.K.E.R., tak jak Bioshock, nie pozwala wymusić wygładzania krawędzi przy dynamicznym oświetleniu (po raz kolejny na kartach NVIDI-i jest to możliwe). Mimo wszystko można to mu wybaczyć, gdyż świetnie się skaluje zarówno z rozdzielczością, jak i liczbą kart. Wyraźna przewaga młodzieży AMD i skalowanie w okolicach 80%.
Supreme Commander
W tej grze można zauważyć świetny przyrost wydajności po dołożeniu drugiego Radeona. Można powiedzieć, że aż zbyt świetny, bo trochę ponad 100%. Także tutaj nic pod tym względem nie zmieniło powtarzanie testów.
Unreal Tournament 3
Silnik gry Unreal Tournament 3 bardzo „lubi” być obsługiwanym przez dwa Radeony. Ponownie obserwujemy przewagę nowej generacji nad starą (poza najniższą rozdzielczością, w której daje o sobie znać wąskie gardło CPU) i skalowanie w okolicach 90%.
Wiedźmin
Widać, że Polacy postarali się, aby Wiedźmin umiał korzystać ze zwiększonej liczby kart graficznych. W niższych rozdzielczościach skalowanie hamowane jest przez procesor, jednak w wyższych osiąga ono bardzo przyzwoity poziom 80%.
Problemem okazał się wybór lokacji, w której mierzyliśmy wydajność. Z pewnych powodów postanowiliśmy ją chwilowo zostawić. O tym jednak trochę później.
World in Conflict
World in Conflict w najwyższych ustawieniach szczegółowości obrazu jest bardzo wymagającym tytułem. Sytuację odrobinę ratuje przyzwoite skalowanie, które sięga 89%. Oczywiście, w samej grze nie mamy do czynienia cały czas z milionem latających kawałków domów i rakiet, tak jak to ma miejsce we wbudowanym teście. Mimo to czasem gra potrafi mieć z płynnością tyle wspólnego co kostka lodu.