Screen Test Pro

Mac yang sama, lima browser, lima skor

Oleh Screen Test ProTerbit

Sebuah Mac Studio dengan M4 Max mencetak 10.630 di benchmark kami di sebuah Apple Store. MacBook Pro yang kami jadikan pembanding — M2 Max yang lebih lama — pernah mencetak sekitar 12.900 di rumah. Chip yang lebih baru dan lebih besar kalah 18%, dan tersangka yang jelas (RAM 36 GB lawan 96, unit demo yang menganggur lawan mesin pengembangan yang sedang bekerja) tidak menjelaskan semua itu.

Jadi kami menjalankan satu mesin — M2 Max yang sama, layar yang sama, sore yang sama — di lima browser:

Safari 26 Edge 152 Opera 131 Firefox 156 Chrome 151
Skor 11.443 11.713 12.801 6.275 ~12.900

Silikon yang sama, layar yang sama, selisih dua kali lipat antara yang terbaik dan terburuk. Angka per adegan malah lebih aneh daripada totalnya. Adegan raymarching kami, Krom cair, bertahan di 25.523 unit di Safari dan 5.622 di Firefox — pada GPU yang sama. Lingkaran Canvas 2D: 64.476 di Opera, 9.960 di Firefox. Adegan fisika CPU kami berjalan 29% lebih cepat di Safari daripada di browser Chromium mana pun, karena JavaScriptCore lebih cocok dengan kode itu daripada V8.

Dan hasil di toko ternyata cerita yang sama dengan kostum berbeda. Di Safari, M2 Max bertahan di 25.523 unit pada raymarcher — tetapi M4 Max di toko hanya 6.222, dan M5 Pro 2.628. Browser yang sama, adegan yang sama, tetapi GPU yang lebih baru dan lebih cepat justru empat sampai sepuluh kali lebih buruk. Shader-nya punya loop 180 iterasi, dan entah kombinasi mana antara generasi GPU yang lebih baru dan compiler Metal yang tersedak olehnya, sementara generasi lama tidak. Adegan itu tidak lagi mengukur throughput fragmen. Ia mengukur keberuntungan compiler.

Apa yang secara jujur diukur benchmark browser

Angka yang dihasilkan situs ini bukan nilai untuk chip. Angka itu adalah pengukuran seluruh tumpukan yang benar-benar Anda pakai: silikon, driver, compiler shader, mesin JavaScript, rasterizer canvas, compositor. Itu fitur, bukan cacat — itulah performa yang Anda dapat saat membuka halaman — tetapi artinya ada dua aturan penting saat membandingkan:

Bandingkan di dalam satu browser. Skor dari Safari dan skor dari Chrome adalah pengukuran dua tumpukan berbeda yang kebetulan memakai chip yang sama. Papan skor tertinggi kami sudah lama menyebut browser di setiap baris; kini lembar hasil juga menampilkan median perangkat keras yang sama per browser, begitu sampelnya cukup.

Benchmark tidak semestinya memperbesar keanehan tumpukan. Tumpukan menjadi bagian dari pengukuran, itu jujur. Satu adegan anjlok 10× karena compiler tidak menyukai bentuk sebuah loop, itu tidak jujur — itu tanda benchmark yang rapuh, dan tugas kamilah memperbaikinya.

Apa yang berubah di benchmark 2.3.0

Raymarcher kini menggambar dalam pass kecil. Alih-alih satu shader yang berputar sampai 180 sampel, Krom cair mengumpulkan pass berulang berisi empat sampel — posisi sampel yang sama, total kerja yang sama, aritmetika tak berubah sampai digit terakhir. Loop empat iterasi adalah jenis shader yang dikompilasi dengan baik oleh semua mesin; apakah itu mengembalikan GPU Apple terbaru ke tren throughput fragmennya, kunjungan ke toko berikutnya yang akan menunjukkan. Firefox tidak bergeser — tetap 5.622 dengan shader baru — karena bebannya ada pada kerja yang dilakukan setiap sampel, bukan pada loop di sekitarnya, dan memperbaikinya berarti mengubah beban kerjanya sendiri.

Satu anggaran berkelanjutan untuk setiap layar. Stempel waktu vsync yang nyata ternyata lebih berantakan daripada model rapi yang kami rilis di 2.2.0, dan mesin dengan layar berfrekuensi tetap diam-diam mendapat anggaran berkelanjutan per frame ~9% lebih longgar daripada laptop dengan sinkronisasi adaptif. Kini semuanya harus memenuhi rerata terpangkas yang sama, yaitu 17,5 ms.

Mulai dingin tidak lagi menghasilkan angka sampah. Tes pertama di browser yang baru dibuka dulu brutal: sebuah Mac demo di toko mencetak 77, lalu 8.553 beberapa menit kemudian; tes Safari pertama kami sendiri di rumah menunjukkan 304 dan 1.149 sebelum 11.443. Tiga perbaikan: benchmark kini memeriksa apakah mesin Anda sedang sibuk sebelum menghabiskan tiga menit, menunggu tersendatnya kompilasi shader pada kunjungan pertama di setiap adegan, dan memberi adegan yang tidak mengukur apa pun satu percobaan lagi di akhir tes jika mesin sudah tenang. Tidak ada yang dikarang — percobaan ulang hanyalah pengukuran kedua.

Tanda kini berkata jujur. Tes yang semua adegannya terukur, tetapi satu tingkatnya tidak bisa dikonfirmasi tiga jendela berturut-turut, dulu dijatuhkan ke batas bawah dan sepenuhnya dikeluarkan dari papan. Data produksi kami menunjukkan tingkat seperti itu berada sekitar 13% di bawah hasil perangkat yang stabil — itu perangkat keras yang kewalahan dan jujur soal itu, bukan angka yang diakali — jadi kini tingkat tersebut diterbitkan dengan tanda, dan tanda di setiap adegan menyebut persis mana dari tiga hal yang terjadi.

Dan hasil bisa dibawa ke mana-mana. Salin tautan kini mengemas seluruh hasil — skor, beban per adegan, waktu frame, tanda — ke dalam tautan itu sendiri. Tidak ada yang diunggah; buka di mana saja dan hasilnya tampil dalam mode baca-saja. Jika suatu saat Anda menguji komputer yang bukan milik Anda, Anda tidak perlu lagi memotret layarnya. Kami tahu. Kami sudah memotret banyak layar.

Skor dari 2.3.0 tidak pernah dicampur dengan versi lama, jadi papan skor dimulai dari awal. Jika Anda ingin versi panjang tentang cara kerja pengukuran — jendela waktu frame, tangga beban, apa saja yang bisa membatalkan tes — halaman metodologi memuat semuanya. Atau langsung saja jalankan tesnya: butuh sekitar tiga menit, dan kini ia memberi tahu sejak awal jika mesin Anda sedang tidak siap.

Bagikan halaman ini
DiskusiSatu utas per bahasa untuk seluruh situs. Masuk dengan Google untuk mengirim komentar.
Diskusi