Pomozte nám vyladit HWBot x265 benchmark. Ať je český lepší než ruský

7. 8. 2015

Sdílet

 Autor: Redakce

V rámci přípravy na další fázi testování jsem se rozhodl do nové metodiky zařadit i encoding videa do moderního formátu H.265/HEVC. V současné době existuje pouze jeden benchmark založený na open source implementaci HEVC – x265 (dostupný zde). Tento benchmark ale používá jen textové rozhraní a podle mého názoru není dostatečně uživatelsky přívětivý.

Proto jsem se rozhodl napsat vlastní grafické rozhraní pro x265 encoder. GUI je přizpůsobeno pro použití na portále hwbot.org, který se zabývá přetaktováním PC komponent a porovnáním výkonu v různých testovacích programech. HWBot vyžaduje poměrně vysokou úroveň zabezpečení, proto se kontroluje hash vstupních souborů i externě spouštěných programů. Takže není například možné programu „podstrčit“ méně náročné video pro dosažení lepšího skóre. Rovněž vygenerovaný soubor s výsledkem a informacemi o hardwaru a OS počítače (kompatibilní s HWBot API) je šifrovaný.

HWBot x265 Benchmark nabízí dva režimy testování – 1080p a 4K. Režim 1080p používá stejné zdrojové video (H.264, 1920 × 1080 px, 24 fps, 8264 kb/s, 47 s) i nastavení jako původní textový benchmark, takže dosažené výsledky by měly odpovídat tabulce na webu x265.ru. Větší rozdíly by mohly být vidět na procesorech založených na architektuře Haswell (a novější), protože jsem použil nejnovější build x265 (aktuálně 1.7), zatímco původní benchmark běží na starší verzi 1.4, která neobsahuje některé optimalizace. Při volbě 4K se konvertuje video (H.264, 3840 × 2160 px, 24 fps, 43 Mb/s, 43,5 s).

Kromě výběru rozlišení videa jsem přidal několik parametrů pro vyladění optimálního výkonu a dosažení co nejlepšího skóre.

1. Priorita x265 procesu – klasické nastavení priority – ekvivalentní s nastavením přes správce úloh.

2. Pmode – parametr x265, zlepší vytížení procesoru. Na některých platformách zlepší výkon, na jiných je vliv minimální, někdy může dojít i ke zhoršení.

3. Overkill režim – umožňuje spustit několik instancí encodingu současně (2–8). Výsledky z instancí se následně sečtou a výsledná rychlost se upraví (sníží) podle rozdílů mezi délkou běhu jednotlivých částí. Cílem je stejná doba běhu všech instancí. Pokud jsou rozdíly příliš velké, benchmark vypíše chybu a celkové skóre se nespočítá.

Overkill je vhodný hlavně pro extrémně výkonné systémy (víc než 16 CPU vláken), kde standardní benchmark nedokáže naplno vytížit procesor(y). Zejména v kombinaci s 4K videem je overkill velmi náročný na kapacitu paměti – například pro čtyři instance 4k encodingu je absolutní minimem 8 GB RAM.

 

Minimální požadavky na PC:

  • Athlon XP / Pentium 4
  • 1 GB RAM (1080p) / 2 GB (4K)
  • 1 GB prostor na HDD
  • Windows XP SP3
  • Java SE 7 nebo vyšší

 Doporučené požadavky na PC (pro rozumnou dobu běhu benchmarku):

  • AMD FX / Core 2 Quad 45nm (s podporou SSE 4.1)
  • 4 GB RAM
  • 1 GB prostor na HDD
  • Windows 7 x64 (SP1 pro podporu AVX)
  • Java SE 7 nebo vyšší

Právě pracuji na posledních úpravách benchmarku, aby mohl být použit na HWBotu. Pro co nejlepší odladěnost a vychytání chyb je ideální otestování na větším množství nejrůznějších PC. Proto bych rád požádal zájemce o beta test, aby přispěli svým výsledkem do připraveného vlákna na fóru.

Odkaz pro stažení benchmarku: http://hw-museum.cz/data/hwbot/HWBOT_x265_benchmark.rar

Pro správné ověření funkčnosti prosím uveďte:

1. Typ CPU a frekvenci při plné zátěži.

2. Verzi Windows.

3. Screenshot s oknem benchmarku, a CPU-Z s otevřenými záložkami CPU, Mainboard, Memory.

bitcoin školení listopad 24

4. V případě problémů – soubor HWBOT_x265_Benchmark_log.txt

Poznámka: 4K režim je momentálně deaktivován – ještě jsem se nerozhodl, které video ve finální verzi použít. A druhá věc – operační systémy Windows 8 a vyšší mají problémy s přesností výchozího systémového časovače, což může vést ke zkresleným výsledkům. Pro spuštění benchmarku je nutné aktivovat HPET (High Precision Event Timer) spuštěním následujícího příkazu v příkazovém řádku (spustit jako administrátor): bcdedit /set useplatformclock yes. Po restartu PC by již mělo všechno fungovat správně.