Geekbench: Jak to właściwie działa

Geekbench to jeden z najbardziej płodnych testów porównawczych, ale co to właściwie jest i jak działa?

Benchmarking smartfonów i komputerów polega na testowaniu wydajności urządzeń w kilku różnych kategoriach. Można porównywać różne wskaźniki, w tym wydajność graficzną, sztuczną inteligencję i obliczenia. Geekbench to benchmark, który stał się podstawą świata benchmarkingu i koncentruje się przede wszystkim na obliczeniach. Geekbench 6 to najnowsza wersja, ale co to właściwie jest? Co i w jaki sposób testuje?

Co to jest Geekbench?

Geekbench to wieloplatformowa aplikacja do testów porównawczych, która może przypisać wynik zarówno jednordzeniowym, jak i wielordzeniowym możliwościom obliczeniowym Twojego urządzenia. Wynik ten można wykorzystać jako punkt porównawczy z sąsiednimi urządzeniami i jest on kalibrowany względem: bazowy wynik wynoszący 2500, który według Primate Labs jest wynikiem komputera Dell Precision 3460 z procesorem Intel Core i7-12700. Trzeba przyznać, że przeglądanie wyników Geekbench 6 wydaje się wskazywać, że ten konkretny procesor ledwo zdobył 2000 punktów jednordzeniowy, ale poza tym założeniem jest, że urządzenie, które uzyska wynik 5000, ma mieć dwukrotnie większą wydajność niż urządzenie i7-12700.

W przypadku Geekbench 6 jest to najnowsza wersja pakietu benchmarkingowego Geekbench, którego celem jest mierz możliwości swojego smartfona w sposób, który faktycznie ma znaczenie, jeśli chodzi o korzystanie z dowolnego z nich najlepsze telefony.

  • Większe zdjęcia w rozdzielczościach rejestrowanych przez nowoczesne smartfony (12-48MP)
  • Przykłady HTML reprezentujące współczesne standardy projektowania stron internetowych
  • Większa biblioteka obrazów do testów importu
  • Większe mapy do testów nawigacji
  • Większe i nowocześniejsze przykłady plików PDF
  • Zwiększenie rozmiaru obciążenia Clang

Istnieją również testy obliczeniowe GPU, które mogą testować OpenCL, Metal i Vulkan. Test porównawczy obliczeń GPU wykorzystuje obciążenia uczenia maszynowego, takie jak rozmycie tła i wykrywanie twarzy, do testowania możliwości rozpoznawania obiektów. Oprócz tego obsługuje zadania związane z edycją obrazu, takie jak wykrywanie horyzontu, wykrywanie krawędzi i rozmycie gaussowskie. Wreszcie istnieją obciążenia syntezy obrazu, które wykonują dopasowywanie funkcji i dopasowywanie stereo, wraz z testem porównawczym symulacji, który symuluje fizykę cząstek.

Jakie platformy obsługuje Geekbench 6?

Geekbench 6 obsługuje następujące platformy, z obsługą Windows on Arm dla niektórych z nich najlepsze laptopy ma zostać dostarczony z Geekbench 6.1:

Platforma

Wersja minimalna

Architektura

Komentarz

Android

Androida 10

AArch64, x64

iOS

iOS 15

AArch64

Linuksa

Ubuntu 18.04 LTS

AArch64, x64

CentOS, RHEL, więcej w przyszłości

System operacyjny Mac

macOS 11

AArch64, x64

Okna

Windows 10

x64

AArch64 z Geekbench 6.1

Jak działa benchmark procesora w Geekbench?

Snapdragon 8 Gen 2 (po prawej) w porównaniu do Snapdragon 8 Gen 1 w Geekbench.

Test porównawczy procesorów Geekbench jest podzielony na szereg kluczowych testów, które obejmują sekcję jednordzeniową i wielordzeniową. Każda sekcja jest pogrupowana w dwie podsekcje: obciążenia całkowite i obciążenia zmiennoprzecinkowe. Pomiędzy każdym testem domyślnie występują dwusekundowe przerwy, aby zminimalizować wpływ problemów termicznych na wydajność.

W Geekbench 6 wprowadzono model zadań współdzielonych do testowania wielowątkowego, w którym obciążenia są współdzielone między wieloma wątkami, aby reprezentować bardziej realistyczne obciążenia. Wcześniej Geekbench rozkładał obciążenia na poszczególne wątki, co dobrze się skalowało, ale zapewniało bardzo słabą komunikację między wątkami. W przypadku modeli zadań współdzielonych każdy wątek przetwarza część większego zadania współdzielonego. Nie skaluje się tak dobrze, ale jest bardziej reprezentatywny dla rzeczywistych przypadków użycia.

Wyniki oblicza się przy użyciu ważonej średniej arytmetycznej wyników podsekcji, z liczbą całkowitą podsekcja odpowiadająca za 65% wyniku i podsekcja zmiennoprzecinkowa odpowiadająca za pozostałe 35%.

Jeśli chodzi o sposób, w jaki Geekbench testuje możliwości chipsetu Twojego urządzenia, testuje różne typy obciążeń podzielonych na kategorie. Kategorie te są podzielone na produktywność, programistę, uczenie maszynowe i syntezę obrazu.

Geekbench 6 Obciążenia zwiększające produktywność

Są to obciążenia testujące wydajność Twojego urządzenia w codziennych, krytycznych zadaniach.

Kompresja pliku

Obciążenia związane z kompresją plików sprawdzają, jak dobrze Twoje urządzenie radzi sobie z kompresowaniem i dekompresowaniem plików przy użyciu różnych formatów kompresji. Modeluje przypadki użycia, w których użytkownik może chcieć skompresować plik w celu wysłania go komuś innemu w celu zmniejszenia ilości danych i przepustowości. Kompresuje archiwum źródłowe Ruby 3.1.2, które jest archiwum o wielkości 75 MB i zawiera 9841 plików, przy użyciu kompresji LZ4 i ZSTD. Następnie weryfikuje skompresowane pliki za pomocą skrótu SHA-1.

Pliki te są następnie przechowywane przy użyciu systemu plików zaszyfrowanego w pamięci, a to zadanie wykorzystuje instrukcje przyspieszające szyfrowanie i deszyfrowanie AES. Wykorzystuje także instrukcje przyspieszające algorytmy mieszające SHA-1.

Nawigacja

Korzystamy z nawigacji na wszelkiego rodzaju urządzeniach, zwłaszcza smartfonach. Zadanie nawigacji ma na celu wygenerowanie wskazówek między sekwencją lokalizacji i modelowanie osób korzystających z aplikacji takich jak Mapy Google w trybie offline. Wykorzystuje algorytm Dijkstry do obliczenia 24 różnych tras na dwóch różnych mapach OpenStreetMap. Jeden znajduje się w Waterloo w Ontario, a drugi w Toronto w Ontario.

Przeglądarka HTML5

Przeglądarka HTML5 otwiera wiele stron HTML5 i modeluje użytkownika przeglądającego sieć w nowoczesnej przeglądarce, takiej jak Chrome czy Safari. Korzysta z bezobsługowej przeglądarki i otwiera, analizuje, układa i renderuje teksty i obrazy w oparciu o popularne witryny, w tym Instagram, Wikipedię i Ars Technica. Wykorzystuje następujące biblioteki:

  • Google Gumbo jako parser HTML
  • litehtml jako parser CSS, układ i silnik renderujący
  • FreeType jako silnik czcionek
  • Geometria Anti-Grain jako biblioteka renderowania grafiki 2D
  • libjpeg-turbo i libpng jako kodeki obrazu

Ten test renderuje osiem stron w trybie jednordzeniowym i 32 strony w trybie wielordzeniowym.

Renderowanie PDF

Moduł renderowania plików PDF otwiera złożone dokumenty PDF przy użyciu narzędzia PDFium, modułu renderowania plików PDF w przeglądarce Chrome. Renderuje pliki PDF z mapami parków z American National Park Service, o rozmiarach od 897 kb do 1,5 MB. Pliki te zawierają duże obrazy wektorowe, linie i tekst.

Ten test renderuje cztery pliki PDF w trybie jednordzeniowym i 16 plików PDF w trybie wielordzeniowym.

Album zdjęć

Zadanie organizacji zdjęć kategoryzuje i oznacza zdjęcia na podstawie obiektów, które zawierają, umożliwiając użytkownikom wyszukiwanie zdjęć według słów kluczowych w aplikacjach do porządkowania obrazów. Wykorzystuje MobileNet 1.0 do klasyfikowania zdjęć i bazę danych SQLite do przechowywania metadanych zdjęć wraz z ich znacznikami.

To obciążenie wykonuje następujące kroki dla każdego zdjęcia:

  1. Rozpakuj zdjęcie ze skompresowanego pliku JPEG.
  2. Przechowuj metadane zdjęć w bazie danych SQLite. Ta baza danych jest wstępnie wypełniona metadanymi dla ponad 70 000 zdjęć.
  3. Wygeneruj miniaturę podglądu i zakoduj ją jako plik JPEG.
  4. Wygeneruj miniaturę wnioskowania.
  5. Uruchom model klasyfikacji obrazu na miniaturze wnioskowania.
  6. Przechowuj znaczniki klasyfikacji obrazów w bazie danych SQLite.

Biblioteka zdjęć obsługuje 16 zdjęć w trybie jednordzeniowym i 64 zdjęcia w trybie wielordzeniowym.

Obciążenia programistyczne w Geekbench 6

Obciążenia programistów w Geekbench 6 mierzą, jak dobrze Twoje urządzenie radzi sobie z typowymi zadaniami programisty, takimi jak edycja tekstu, kompilacja kodu i kompresja zasobów.

Szczęk

Kompilator Clang służy do kompilowania interpretera Lua, modelując przypadek użycia programistów tworzących swój kod i kompilację just-in-time, której użytkownicy często doświadczają na swoich urządzeniach. Używa musl libc jako standardowej biblioteki C dla skompilowanych plików. Kompiluje osiem plików w trybie jednordzeniowym i 96 plików w trybie wielordzeniowym.

Przetwarzanie tekstu

Przetwarzanie tekstu ładuje wiele plików, analizuje ich zawartość przy użyciu wyrażeń regularnych, przechowuje metadane w bazie danych SQLite i eksportuje zawartość do innego formatu. Modeluje typowe algorytmy przetwarzania tekstu, które manipulują, analizują i przekształcają dane w celu publikacji i uzyskania wglądu.

To obciążenie jest zaimplementowane w połączeniu Pythona i C++, przy użyciu Pythona 3.9.0 i przetwarzającego 190 plików Markdown jako dane wejściowe.

Kompresja aktywów

Kompresja zasobów kompresuje zasoby teksturalne i geometryczne 3D przy użyciu różnych popularnych kodeków kompresji, takich jak ASTC, BC7 i DXT5. Modeluje standardowe potoki kompresji treści używane przez twórców gier.

Obciążenie wykorzystuje bc7enc do implementacji BC& i DXTC oraz Arm ASTC Encoder do implementacji ASTC.

Obciążenia uczenia maszynowego

Obciążenia uczenia maszynowego mierzą przede wszystkim, jak dobrze procesor radzi sobie z rozpoznawaniem obiektów na obrazach i scenach.

Wykrywanie obiektów

Zadanie polegające na wykrywaniu obiektów wykorzystuje uczenie maszynowe, dzięki czemu może wykrywać i klasyfikować obiekty na zdjęciach. Wykorzystuje splotową sieć neuronową o nazwie MobileNet v1 SSD do wykrywania i klasyfikowania obiektów na zdjęciach, a zdjęcia mają rozmiar 300x300 pikseli. Wykonuje następujące kroki, aby zidentyfikować obiekty na obrazie:

  1. Załaduj zdjęcie
  2. Wyodrębnij obiekty ze zdjęcia za pomocą dysku SSD MobileNet v1
  3. Wygeneruj wynik zaufania lub wykrywalności, który reprezentuje dokładność wykrywania
  4. Narysuj ramkę ograniczającą wokół obiektu i wypisz wynik pewności

Detekcja obiektów przetwarza 16 zdjęć w trybie jednordzeniowym i 64 zdjęcia w trybie wielordzeniowym.

Rozmycie tła

Zadanie rozmycia tła oddziela pierwszy plan od tła w strumieniach wideo i rozmywa tło, podobnie jak mogą to zrobić usługi takie jak Zoom, Discord i Google Meet.

Edycja obrazka

Obciążenia związane z edycją obrazu mierzą, jak dobrze procesor radzi sobie zarówno z prostymi, jak i złożonymi edycjami obrazu.

Usuwanie obiektów

Zadanie usuwania obiektów usuwa obiekty ze zdjęć i wypełnia pozostawioną lukę, modelując wypełnienie uwzględniające treść i własną Magic Eraser firmy Google. Obciążenie otrzymuje obraz o rozdzielczości 3 MP z niepożądanym obszarem, a następnie usuwa ten obszar i wykorzystuje schemat malowania w celu zrekonstruowania pozostawionej luki.

Wykrywanie horyzontu

Funkcja wykrywania horyzontu umożliwia wykrywanie i prostowanie nierównych lub krzywych linii horyzontu w celu poprawy jakości zdjęć. Modeluje korektory linii horyzontu w aplikacjach do edycji zdjęć i wykorzystuje detektor krawędzi Canny’ego, aby zastosować transformację Hougha w celu wykrycia linii horyzontu. Jako dane wejściowe wykorzystuje zdjęcie o rozdzielczości 48 MP.

Filtr fotograficzny

Obciążenie filtrem zdjęć stosuje filtry w celu poprawy wyglądu zdjęć, modelując typowe filtry w aplikacjach społecznościowych, takich jak Instagram. Stosuje następujące efekty do 10 różnych zdjęć o rozdzielczości od 3 MP do 15 MP.

  • Filtry koloru i rozmycia
  • Regulacja poziomu
  • Kadrowanie i skalowanie
  • Komponowanie obrazu

HDR

Obciążenie HDR łączy sześć zwykłych zdjęć, aby utworzyć jedno zdjęcie HDR, które jest kolorowe i żywe. Modeluje funkcje HDR dostępne w nowoczesnych aplikacjach do aparatów w smartfonach, tworząc pojedynczy obraz HDR o rozdzielczości 16 MP z sześciu zwykłych obrazów o rozdzielczości 16 MP.

Synteza obrazu

Te obciążenia mierzą, jak procesor radzi sobie z tworzeniem całkowicie sztucznych obrazów.

Śledzenie promieni

Śledzenie promieni jest ostatnio modne i można je wykorzystać do generowania fotorealistycznych obrazów poprzez modelowanie interakcji promieni świetlnych z obiektami w wirtualnych scenach. Modeluje to procesy renderowania, z których korzystałoby oprogramowanie do renderowania 3D, takie jak Blender lub Cinema 4D.

Struktura z ruchu

Struktura z ruchu to technika generująca geometrię 3D z wielu obrazów 2D. Systemy rzeczywistości rozszerzonej wykorzystują tego typu techniki do zrozumienia scen ze świata rzeczywistego. To zadanie obejmuje dziewięć obrazów 2D tej samej sceny i konstruuje szacunkowe współrzędne 3D punktów widocznych na obu obrazach.

Jak pobrać Geekbencha

Geekbench to jeden z najpopularniejszych testów porównawczych, którego ludzie używają do testowania urządzeń takich jak najlepsze telefony, laptopy i tabletkii możesz go pobrać z Sklep z aplikacjami Apple, Sklep Google Play i na stronie internetowej Primate Labs.