Co mierzymy
Web Bench sprawdza, jak urządzenie pracuje w przeglądarce, w 8 kategoriach i kilkudziesięciu testach szczegółowych. Poniżej zobaczysz, co mierzy każda kategoria, z jakim odczuciem na co dzień się wiąże i czy wyższa liczba oznacza lepszy wynik. Testy nieobsługiwane przez urządzenie lub przeglądarkę są pomijane automatycznie, a wszystkie wartości są orientacyjne i zależą od środowiska.
CPU jednordzeniowe
CPU jednordzeniowe mierzy, jak szybko jeden rdzeń wykonuje realne zadania: przetwarzanie tekstu, parsowanie JSON, kompresję, hashowanie, obróbkę obrazu, sortowanie, wyszukiwanie ścieżek, symulację fizyki, ray tracing i algebrę liniową. Z tą wartością zwykle zgadza się odczucie przy ładowaniu stron, reakcji aplikacji i programach wykonujących jedną rzecz naraz. Jednostką jest liczba operacji na sekundę, więc wyższy wynik oznacza więcej pracy w tym samym czasie. Testy wymagające API przeglądarki, jak AES-GCM czy Deflate, są pomijane, gdy nie są dostępne, a wynik liczy się z pozostałych.
- Przetwarzanie tekstu · Jeden rdzeń
- Tokenizacja i wyszukiwanie/zamiana regex
- JSON · Jeden rdzeń
- Parsowanie i serializacja dużych dokumentów
- Kompresja LZ · Jeden rdzeń
- Własna kompresja i dekompresja LZ
- SHA-256 · Jeden rdzeń
- Przepustowość haszowania JavaScript
- Przetwarzanie obrazu · Jeden rdzeń
- Rozmycie Gaussa, skalowanie i konwersja kolorów
- Sortowanie i struktury danych · Jeden rdzeń
- Sortowanie, mapa haszująca i kolejka priorytetowa
- Wyszukiwanie drogi A* · Jeden rdzeń
- Najkrótsza droga na siatce z przeszkodami
- Symulacja fizyczna · Jeden rdzeń
- Grawitacja n ciał i zderzenia sprężyste
- Śledzenie promieni CPU · Jeden rdzeń
- Renderowanie sceny kul
- Algebra liniowa · Jeden rdzeń
- Mnożenie macierzy i LU z częściowym wyborem elementu
- Duże liczby całkowite · Jeden rdzeń
- Mnożenie BigInt i test pierwszości 64-bit
- Parsowanie dokumentu · Jeden rdzeń
- Tokenizacja znaczników i tworzenie drzewa
- AES-GCM · Jeden rdzeń
- Szyfrowanie i deszyfrowanie SubtleCrypto
- Deflate · Jeden rdzeń
- Kompresja i dekompresja CompressionStream
CPU wielordzeniowe
CPU wielordzeniowe mierzy przepustowość, gdy to samo zadanie jest rozdzielone na wiele workerów i używa kilku rdzeni naraz. Różnicę widać przy kodowaniu wideo, przetwarzaniu dużych plików i jednoczesnej pracy w wielu kartach i aplikacjach. Jednostką jest liczba operacji na sekundę, a wyższy wynik jest lepszy. Wynik zależy jednak od liczby workerów używanych przez przeglądarkę i sposobu synchronizacji, więc nie interpretuj go wyłącznie przez liczbę rdzeni fizycznych. Tam, gdzie API szyfrowania lub kompresji jest niedostępne, dany test jest pomijany.
- Przetwarzanie tekstu · Wiele rdzeni
- Tokenizacja i wyszukiwanie/zamiana regex
- JSON · Wiele rdzeni
- Parsowanie i serializacja dużych dokumentów
- Kompresja LZ · Wiele rdzeni
- Własna kompresja i dekompresja LZ
- SHA-256 · Wiele rdzeni
- Przepustowość haszowania JavaScript
- Przetwarzanie obrazu · Wiele rdzeni
- Rozmycie Gaussa, skalowanie i konwersja kolorów
- Sortowanie i struktury danych · Wiele rdzeni
- Sortowanie, mapa haszująca i kolejka priorytetowa
- Wyszukiwanie drogi A* · Wiele rdzeni
- Najkrótsza droga na siatce z przeszkodami
- Symulacja fizyczna · Wiele rdzeni
- Grawitacja n ciał i zderzenia sprężyste
- Śledzenie promieni CPU · Wiele rdzeni
- Renderowanie sceny kul
- Algebra liniowa · Wiele rdzeni
- Mnożenie macierzy i LU z częściowym wyborem elementu
- Duże liczby całkowite · Wiele rdzeni
- Mnożenie BigInt i test pierwszości 64-bit
- Parsowanie dokumentu · Wiele rdzeni
- Tokenizacja znaczników i tworzenie drzewa
- AES-GCM · Wiele rdzeni
- Szyfrowanie i deszyfrowanie SubtleCrypto
- Deflate · Wiele rdzeni
- Kompresja i dekompresja CompressionStream
Pamięć
Pamięć sprawdza przepustowość odczytu, zapisu i kopiowania ciągłego obszaru 16 MB oraz opóźnienie przy losowym przechodzeniu po danych. Przekłada się to na pracę z dużymi obrazami i wideo, wiele otwartych kart czy ładowanie gier, czyli zadania z dużą ilością przenoszonych danych. Przepustowość podajemy w GB/s i im wyższa, tym lepiej, a opóźnienie dostępu losowego w ns, gdzie niższe jest lepsze. Ponieważ zmieniamy rozmiar obszaru, można też ocenić, na jakich poziomach hierarchii pamięci podręcznej prędkość się zmienia.
- Odczyt sekwencyjny
- Sekwencyjna przepustowość pamięci 16 MB
- Zapis sekwencyjny
- Sekwencyjna przepustowość pamięci 16 MB
- kopiowanie sekwencyjnie
- Sekwencyjna przepustowość pamięci 16 MB
- Dostęp losowy · 16 KB
- Zależne wskaźniki przez poziomy pamięci podręcznej
- Dostęp losowy · 64 KB
- Zależne wskaźniki przez poziomy pamięci podręcznej
- Dostęp losowy · 256 KB
- Zależne wskaźniki przez poziomy pamięci podręcznej
- Dostęp losowy · 1 MB
- Zależne wskaźniki przez poziomy pamięci podręcznej
- Dostęp losowy · 4 MB
- Zależne wskaźniki przez poziomy pamięci podręcznej
- Dostęp losowy · 16 MB
- Zależne wskaźniki przez poziomy pamięci podręcznej
- Dostęp losowy · 64 MB
- Zależne wskaźniki przez poziomy pamięci podręcznej
- Dostęp losowy · 256 MB
- Zależne wskaźniki przez poziomy pamięci podręcznej
Grafika GPU
GPU grafika rysuje poza ekranem ogromną liczbę trójkątów, 131 072 cząsteczek oraz postprocessing bloom i blur, a następnie podaje średnie FPS. Wiąże się z płynnością gier w przeglądarce, map 3D i stron z wieloma efektami wizualnymi. Jednostką są FPS, a wyższy wynik jest lepszy. Jeśli WebGPU jest niedostępne, test może zostać uruchomiony ścieżką WebGL2, a gdy brak obu, ta kategoria jest pomijana.
- Wiele trójkątów
- Renderowanie poza ekranem · średnie FPS
- 131 072 cząstki
- Renderowanie poza ekranem · średnie FPS
- Poświata i rozmycie po renderowaniu
- Renderowanie poza ekranem · średnie FPS
Obliczenia GPU
GPU obliczenia sprawdza szybkość, gdy GPU wykonuje nie grafikę, lecz obliczenia. Uruchamiamy mnożenie macierzy f32 i f16, konwolucję obrazu, symulację cząsteczek oraz sumę równoległą, a także weryfikujemy poprawność bufora wyników. Najbliżej temu do zadań z dużą liczbą obliczeń równoległych, jak przetwarzanie wideo czy wnioskowanie AI w przeglądarce. Mnożenie macierzy podajemy w GFLOPS, resztę w elementach na sekundę, a wyższe wartości są lepsze. Bez WebGPU lub funkcji shader-f16 dany test jest pomijany.
- Mnożenie macierzy f32
- Obliczenia WebGPU · weryfikacja bufora wyjścia
- Mnożenie macierzy f16
- Obliczenia WebGPU · weryfikacja bufora wyjścia
- Splot obrazu
- Obliczenia WebGPU · weryfikacja bufora wyjścia
- Symulacja cząstek
- Obliczenia WebGPU · weryfikacja bufora wyjścia
- Suma równoległa (reduction)
- Obliczenia WebGPU · weryfikacja bufora wyjścia
Przeglądarka
Kategoria przeglądarki mierzy manipulację DOM i układ strony, rysowanie Canvas 2D, częstotliwość odświeżania ekranu oraz równomierność klatek. Bezpośrednio wiąże się z reakcją złożonych aplikacji webowych oraz płynnością przewijania i animacji. DOM i Canvas podajemy w operacjach na sekundę, gdzie wyższy wynik jest lepszy, a odstępy między klatkami w ms, gdzie niższy jest lepszy. Na wynik silnie wpływają silnik przeglądarki i ustawienia ekranu, nie tylko sprzęt, więc porównuj wyłącznie w obrębie tej samej przeglądarki.
- Manipulacja DOM i układ
- Tworzenie i zmiana listy wirtualnej oraz obliczenie układu
- Canvas 2D
- Rysowanie ścieżek, kształtów i tekstu
- Odświeżanie i regularność klatek
- Odstępy requestAnimationFrame · częstotliwość i odchylenie p95
Dysk
Dysk tworzy w OPFS udostępnianym przez przeglądarkę plik tymczasowy, mierzy prędkość sekwencyjnego i losowego zapisu oraz odczytu, a potem usuwa plik. Wiąże się to z pobieraniem dużych plików i wczytywaniem danych aplikacji offline. Jednostką jest MB/s, a wyższy wynik jest lepszy. Jeśli przeglądarka nie obsługuje OPFS albo jest on zablokowany, na przykład w trybie prywatnym, ta kategoria jest pomijana.
- Zapis sekwencyjny
- I/O pliku OPFS · usuwany po teście
- Odczyt sekwencyjny
- I/O pliku OPFS · usuwany po teście
- Zapis losowy
- I/O pliku OPFS · usuwany po teście
- Odczyt losowy
- I/O pliku OPFS · usuwany po teście
Inferencja AI (opcjonalna)
Wnioskowanie AI jest opcjonalne i uruchamiane tylko po wyrażeniu zgody na pobranie modelu. Na stałych zdaniach testowych i obrazach sprawdzamy, jak szybko w przeglądarce działają modele generowania tekstu i obrazu, bez użycia plików osobistych. To wskaźnik orientacyjny, jak komfortowo będą działać funkcje AI na urządzeniu, a wyższa szybkość jest lepsza. Bez zgody test się nie uruchamia i nie wchodzi do wyniku łącznego, a jeśli WebGPU jest niedostępne, działa ścieżka WASM, co jest osobno oznaczane.
- Czas do pierwszego tokena
- Od generate do pierwszego tokena · bez tokenizacji
- Przetwarzanie promptu
- Tokeny wejścia / pierwszy forward · bez tokenizacji i próbkowania
- Generowanie tekstu
- greedy 128 tokenów · przepustowość 127 po pierwszym
- Klasyfikacja jednego obrazu
- Stały obraz RGB 224×224 · bez przetwarzania wstępnego · MobileNetV4 fp32