Pod koniec listopada zeszłego roku pojawiła się informacja, że Adobe wprowadził na rynek, na razie w wersji beta, Flash Playera oznaczonego numerem 10.1, który miał korzystać z funkcji zawartych w kartach graficznych przy odtwarzaniu filmów HD. Rzecz jasna, chodzi o filmy HD dostępne na stronach internetowych za pośrednictwem techniki Flash. A te nie były odtwarzane wystarczająco płynnie na słabszej klasy komputerach, wyposażonych np. w procesory klasy Intel Atom, starsze Athlony 64 czy niesprzedawane już jednostki z serii Pentium 4/D/E2xxx. W takich przypadkach oglądanie filmów na YouTubie, Hulu czy Vimeo ograniczało się do jakości „SD”, czyli standardowej. Wciśnięcie przycisku HD najczęściej powodowało frustrację z powodu braku płynności odtwarzania. Winowajcą był oczywiście odtwarzacz Flash, który wszystkie operacje związane z dekodowaniem sygnału wideo przerzucał na procesor główny komputera (CPU). Nawet jeśli ktoś miał kartę graficzną zdolną odtwarzać filmy blu-ray bądź x264 o jakości 1080p, filmy z serwisu YouTube HD nie były dla niego dostępne.
Problem ten opisaliśmy w recenzji komputera typu Media Center: ASRock ION 330. Zestaw ten został wyposażony w procesor Intel Atom 330 (dwa rdzenie, 1,6 GHz) oraz układ graficzny GeForce 9400M zintegrowany w chipsecie NVIDIA ION. O ile odtwarzanie filmów H.264 lub x264 nawet o najwyższej rozdzielczości nie stanowiło najmniejszego problemu dla tego komputera, o tyle filmy YouTube HD w jakości 720p nie działały dość płynnie. Jeszcze gorzej było z filmami Flash 1080p, których w zasadzie nie dało się oglądać.
Koniec listopada 2009, gdy zainteresowani mogli pobrać wersję beta nowego Flash Playera, mógł się wydawać datą przełomową. Niestety, jak to zwykle bywa w początkowych fazach rozwoju oprogramowania, błędów było sporo. Użytkownicy narzekali na liczne przekłamania w wyświetlanym obrazie, źle obsługiwana przezroczystość niektórych elementów itp. Wersja udostępniona w połowie grudnia, 10.1.51.66, rozwiązała większość problemów. Do tego czasu udało się też ATI przystosować sterowniki do nowego oprogramowania i teoretycznie Radeony, podobnie jak GeForce’y, akcelerują filmy Flash-HD.
Praktyka Na początku należy bardzo wyraźnie zaznaczyć, że nowy Flash nie jest panaceum na problemy z płynnością wszystkich filmów tego typu, jakie są dostępne w internecie. Część jest zapisana w formie pliku *.flv, a część jako *.mp4 – i tylko te drugie są akcelerowane przez karty graficzne! Jeśli komputer nie odtwarzał wystarczająco płynnie najbardziej skomplikowanych plików *.flv, to nowy Flash nie poprawi płynności. Przynajmniej w teorii, bo praktyka jest nieco inna...
Żeby dokładnie sprawdzić działanie nowego Flasha, zbadaliśmy jego wpływ na wydajność odtwarzania filmów na trzech zestawach:
Komputer nr 1:
- ASRock ION 330
- Procesor: Intel Atom 330 (Dwa rdzenie z HT, 1,6 GHz)
- Układ graficzny: NVIDIA GeForce 9400M (dekoduje sygnał H.264)
Komputer nr 2:
- Redakcyjny składak
- Procesor: Intel Core 2 Duo T7400 (Dwa rdzenie, 2,16 GHz)
- Układ graficzny: NVIDIA GeForce 6200 TC (nie dekoduje sygnału H.264)
Komputer nr 3:
- Redakcyjny składak (2)
- Procesor: AMD Athlon 64 X2 3800+ (Dwa rdzenie, 2,0 GHz)
- Układ graficzny: ATI Radeon HD 3200 (dekoduje sygnał H.264)
Pierwszy zestaw umożliwia obejrzenie bez najmniejszych problemów filmu H.264 bądź x264 w rozdzielczości 720p lub 1080p (jest to stwierdzenie prawdziwe w przypadku 98% filmów w wyższej z nich). Za to kompletnie sobie nie radzi z filmami Flash-HD 1080p dostępnymi np. w witrynie YouTube.com. Filmy Flash-HD 720p są odtwarzane z płynnością rzędu 20 kl./s, czyli zbyt niską. Nie ma też możliwości obejrzenia filmów Flash w formacie *.flv o wysokiej jakości.
Dlaczego tak się dzieje? Filmy H.264 oraz x264 odtwarzane bezpośrednio przez aplikacje typu Windows Media Player są akcelerowane przez układ graficzny, podczas gdy filmy Flash (w oficjalnie dostępnej wersji) – nie. One w całości są obsługiwane przez procesor.
Drugi zestaw nie radzi sobie z filmami H.264 oraz x264, choć w przypadku rozdzielczości 720p projekcję można uznać za akceptowalnie płynną. Za to filmy Flash-HD 720p są odtwarzane całkowicie płynnie, a Flash-HD 1080p i tak działają płynniej niż Flash-HD 720p na Atomie. Filmy Flash w formacie *.flv nawet w najwyższej jakości działają w pełni płynnie.
Teoria mówi, że filmy Flash-HD na zestawie nr 2 będą działać identycznie, niezależnie od zainstalowanej wersji oprogramowania, a Atom wspomagany odpowiednim układem graficznym powinien je odtworzyć odpowiednio płynnie.
Testy:
Na początek przeprowadziliśmy prosty test wydajności aplikacji Flash:
Widzimy, że nowy Flash działa sprawniej, i to zauważalnie! Zysk wynosi około 15%, co jest odczuwalne przy bardziej zasobożernych animacjach. Jak odtwarzane są filmy?
Obciążenie procesora: Core 2 Duo T7400 + GF 6200 TC | Flash 10.0.42.34 | Flash 10.1.51.66 |
YouTube „natura” (HD 720p) | 27–33% | 30–40% |
YouTube Batman (HD 1080p) | 60–70% | 55–65% |
YouTube „teledysk” (HD 1080p) | 85–93% | 85–95% |
Zwiastun gry Tekken (*.flv) | 30–34% | 26–31% |
Liczba klatek na sekundę: Core 2 Duo T7400 + GF 6200 TC | Flash 10.0.42.34 | Flash 10.1.51.66 |
YouTube „natura” (HD 720p) | 29 | 29 |
YouTube Batman (HD 1080p) | 23 | 23 |
YouTube „teledysk” (HD 1080p) | 22 | 22 |
Zwiastun gry Tekken (*.flv) | 25 | 25 |
Powyższa tabela wskazuje, że obciążenie procesora może być nawet większe niż w przypadku oficjalnie dostępnej wersji Flasha, choć nie jest to regułą. Filmy nie działały ani lepiej, ani gorzej. To dziwne, gdyż po wyniku testu „kulek” spodziewaliśmy się delikatnej poprawy. Z drugiej strony może to wynikać z tego, że poprawiono optymalizację plików *.flv, a *.mp4, jeśli nie są obsługiwane przez GPU, to i tak działają z podobną płynnością.
Atom + ION i Flash 10.1 Na pierwszy ogień idzie test „kulek”:
Również i tutaj obserwujemy całkiem spory wzrost wydajności! Nawet większy niż w przypadku Core 2 Duo.
Filmy Flash-HD Materiał wideo zapisany w formacie *.mp4 o rozdzielczości 720p jest odtwarzany, niestety, z podobną płynnością. Można zaobserwować nieco większą liczbę klatek na sekundę, ale pojawiają się krótkie przycięcia, których w oficjalnej wersji Flasha nie było. Niemniej film Flash HD 720p da się obejrzeć.
Zdecydowaną poprawę zaobserwowaliśmy w filmach Flash-HD 1080p. O ile w oficjalnej wersji Flash Playera filmy tego typu były odtwarzane w tempie około 2 kl./s, o tyle teraz mamy płynność na poziomie około 18–20 kl./s. Dokładne informacje podamy w dwóch tabelach.
Filmy zapisane w formacie *.flv zgodnie z oczekiwaniami wciąż działały bardzo kiepsko. Przy szybkości rzędu 1 kl./s trudno jest w ogóle stwierdzić, o czym jest oglądany materiał.
Obciążenie procesora: Atom 330 + GF 9300M (ION) | Flash 10.0.42.34 | Flash 10.1.51.66 |
YouTube „natura” (HD 720p) | 75–85% | 30–40% |
YouTube Batman (HD 1080p) | 95–100% | 30–40% |
YouTube „teledysk” (HD 1080p) | 95–100% | 30–40% |
Zwiastun gry Tekken (*.flv) | 30% | 30% |
Liczba klatek na sekundę: Atom 330 + GF 9300M (ION) | Flash 10.0.42.34 | Flash 10.1.51.66 |
YouTube „natura” (HD 720p) | 21 | 23 |
YouTube Batman (HD 1080p) | 2 | 19 |
YouTube „teledysk” (HD 1080p) | 2 | 17 |
Zwiastun gry Tekken (*.flv) | 1 | 1 |
Wnioski można wyciągnąć dwa. Po pierwsze, faktycznie filmy Flash-HD zapisane w formacie *.mp4 działają wyraźnie płynniej – szczególnie te 1080p. Po drugie, z jakiegoś powodu obciążenie procesora cały czas oscyluje w okolicach 30–40% przy plikach typu *.mp4. Gdyby Flash wykorzystywał w większym stopniu procesor, to filmy działałyby wyraźnie szybciej. Dlaczego tak sądzimy?
Z plików tymczasowych przeglądarki internetowej wyciągnęliśmy wszystkie materiały wideo, jakie testowaliśmy. A oto wyniki:
Obciążenie procesora: Atom 330 + GF 9300M (ION) | WMP/VLC |
„natura” (HD 720p) | 6–10% |
Batman (HD 1080p) | 6–10% |
„teledysk” (HD 1080p) | 6–10% |
Tekken (*.flv) | 22–28% |
Liczba klatek na sekundę: Atom 330 + GF 9300M (ION) | WMP/VLC |
„natura” (HD 720p) | 29 |
Batman (HD 1080p) | 30 |
„teledysk” (HD 1080p) | 30 |
Tekken (*.flv) | 25 |
Wnioski są dość oczywiste: Flash w najnowszej wersji korzysta z procesora w sposób daleki od optymalnego, co uniemożliwia w pewnych konfiguracjach płynne odtwarzanie materiału Flash-HD.
Do odtwarzania *.mp4 użyliśmy programu Windows Media Player (w wersji dostarczonej z Windows 7), a *.flv – aplikacji VLC Media Player. Warto nadmienić, że plik *.flv nie jest akcelerowany przez układ graficzny: na zestawie nr 2 (Core 2 Duo + GF 6200 TC), zaobserwowaliśmy przeszło dwa razy mniejsze obciążenie procesora (około 15–20%) przy zachowaniu pełnej płynności.
Athlon 64 X2 3800+ + ATI Radeon HD 3200 (AMD 780G) Nie mogliśmy nie sprawdzić, jak nowy flash zachowuje się w komputerze z kartą graficzną ATI. W tym celu przygotowaliśmy zestaw z procesorem, dość mocnym (jak na standardy flash) i układem graficznym, który doskonale sobie radzi z filmami H.264 oraz x264, nawet o rozdzielczości 1080p. Test odbył się identycznie, jak w przypadku dwóch pierwszych platform.
Obciążenie procesora: A64 X2 3800+ + Radeon HD 3200 | Flash 10.0.42.34 | Flash 10.1.51.66 |
YouTube „natura” (HD 720p) | 45-50% | 30-38% |
YouTube Batman (HD 1080p) | 60-75% | 40-55% |
YouTube „teledysk” (HD 1080p) | 65-80% | 45-55% |
Zwiastun gry Tekken (*.flv) | 40-60% | 35-55% |
Liczba klatek na sekundę: A64 X2 3800+ + Radeon HD 3200 | Flash 10.0.42.34 | Flash 10.1.51.66 |
YouTube „natura” (HD 720p) | 28 | 29 |
YouTube Batman (HD 1080p) | 24 | 27 |
YouTube „teledysk” (HD 1080p) | 20 | 24 |
Zwiastun gry Tekken (*.flv) | 25 | 25 |
Uzupełnieniem powyższego jest test flasha, który podobnie jak w dwóch poprzednich zestawach przyspieszył na nowej wersji playera:
Athlon 64 X2 3800+ nie jest procesorem wystarczającym do płynnego odtworzenia sporej części filmów H.264 lub x264 o rozdzielczości 1080p. By obraz był wyświetlany płynnie, potrzebna jest pomoc ze strony układu graficznego. Na starej wersji flasha filmy zapisane w formacie *.mp4 o rozdzielczości 1080p nie są odtwarzane wystarczająco płynnie, nawet w trybie "okienkowym". Włączenie pełnego ekranu powoduje mocne "klatkowanie".
Flash 10.1 poprawia tą sytuację. Obciążenie procesora spada, a wydajność rośnie. Nie udało się jednak uzyskać pełnej płynności dla trybu pełnoekranowego. Jeśli będziemy posiadać monitor o rozdzielczości 1920×1200 i wyświetlimy film (wprost z np. YouTube) o takiej wielkości na pełnym ekranie, to wciąż nie będziemy mieli odpowiednio wysokiej płynności. W skrajnych przypadkach będzie to nawet mniej niż 20 klatek na sekundę!
Liczyliśmy na to, że spadnie pobór energii, gdyż połączyliśmy relatywnie energochłonny procesor z oszczędnym układem graficznym. Niestety ilość zużywanej energii była identyczna – dla całego zestawu około 86 W. Dla porównania odtworzenie tego samego teledysku bezpośrednio w programie Windows Media Player przy pełnej płynności(!) konsumowało już tylko 70 W.
Warto też zauważyć, że układ graficzny NVIDI-i zdecydowanie lepiej współpracuje z nowym flashem. Trudno jest jednak stwierdzić czy wynika to z ewentualnego niedopracowania sterowników do kart graficznych, czy może z wciąż testowanej wersji flasha.
Czy nowy Flash obniża zapotrzebowanie na energię? To oczywiście będzie zależeć od konfiguracji. W przypadku tandemu Atoma z ION-em nie ma o tym mowy. Przy „starej” wersji Flasha komputer pobierał 31 W podczas odtwarzania filmu „Batman”. Pobór energii przy nowym Flashu spadł o cały wat. Odtwarzanie pliku *.mp4 bezpośrednio przez Windows Media Player generowało zapotrzebowanie na energię rzędu 29 W.
Podsumowanie Obecną wersję beta (już druga) Flash Playera trudno nazwać dopracowaną. Po pierwsze, rozwiązuje ona tylko część problemów związanych z odtwarzaniem filmów Flash-HD na komputerach wyposażonych w słabsze procesory. Wynika to stąd, że poprawa może się pojawić tylko wtedy, gdy plik jest w formacie *.mp4 oraz zainstalowany w komputerze układ graficzny dekoduje sygnał H.264. W przeciwnym razie zysku nie będzie: filmy w formacie *.flv, które dotychczas nie działały płynnie, i tak nie będą odtwarzane z odpowiednią szybkością. Co gorsza, tylko część operacji została przerzucona na układ graficzny, co wykazało odtworzenie tego samego materiału bezpośrednio w odtwarzaczach typu Windows Media Player: procesor był wyraźnie mniej obciążony, a płynność – większa.
Z drugiej strony stwierdziliśmy poprawę optymalizacji plików *.flv – kilkunasto-, a może nawet kilkudziesięcioprocentowy zysk nie może pozostać niezauważony. Wciąż jednak w pewnych sytuacjach obserwujemy błędy w wyświetlanym obrazie, choć są one zdecydowanie rzadsze niż w przypadku bety „numer 1”. Summa summarum: obrano właściwą drogę, ale do celu jeszcze sporo zostało.