(4/7:グラフが見づらかったのとAVXの検証する比較対象データが不適切だったので修正しました)

手持ちのメモリーだとRyzen君の性能がうまく引き出せないので一旦メインマシンを6800Kに戻して、しばらくメモリーを入れ替えて検証し直すことにした。

RyzenはメモリーコントローラーのクロックとInfinity Fabricが同期してるのでメモリークロックを上げると性能が底上げされるというアグレッシブな仕様なので、メモリーをOCタイプのにすることにする。
値段との兼ね合いでCORSAIRのVENGEANCE LPXにした。
型番はAmazonで比較的安かったCMK16GX4M2A2666C16。
XMPを有効にしたら普通に2666で動いた。
memory_setting2
やるなCORSAIR。

ただ、OCして再起動すると一度完全にオフになった後で2133で起動してくる。
一度2400にしてしばらく使ってから再起動して2666に設定すると立ち上がってくるから挙動がよく分からない。
GA-AB350M-Gaming3の癖なのかねぇ?
BIOSアップデートで改善されれば良いのだけど。
改善されないようなら別のM/Bも考えるかなぁ。
とりあえず消えたβBIOSを突っ込んでメモリー電圧を盛ったら起動するようになったので判断保留。
AsrockのAB350M Pro4が次の候補かなー

まぁ、それはともかくとして家の部品をかき集めてマシン作った。
しばらくこれで検証するけど、Zippyの電源うるせぇw
OSは一時的なものなのでWindows10の評価版を入れた。

またTMPGEncで比較するのでTVMW6の評価版を両方に入れてテスト。
CUDAが有効になるような局面でどう変わるのかは、Geforceがメインマシンのみでビデオカードを入れ替えないといけないので未実施

ソース1
けものフレンズ「ゆきやまちほー」
ゆきやまちほー書きかったちゃうんかと。
その通りです(殴
encode_filter_source1
インターレース解除のみ。
CUDAを有効にしててもCPUだけでエンコードが完結する。

ソース2
このすば2期「この素晴らしい仲間たちに祝福を!」
キレたウィズ強すぎない?(そうじゃない
encode_filter_source2
インターレース解除と左右のクロップ。
CUDAを有効にしているとCUDAが仕事をする。
(今回はCUDA無効)

まずはRyzenでメモリー速度を変えてエンコード速度が変わるかどうかを確認。
Ryzen 7 1700の定格のエンコード中のクロックは3.2GHzだった。
ちなみにグラフの単位は全部秒です。

ソース1
encode1_memoryspeed
全体的にTVMW5の時より普通に速いんだけど。
メニーコアに最適化されたんかね?
64bitアプリケーションだからかね?
というかメモリーが1RANKだと速くなるの?
原因はよく分からないけどRyzen君が覚醒した!
メモリー速度がDDR2133→DDR2666で3%程度速くなった。

ソース2
encode2_memoryspeed
こっちはDDR2133→DDR2666で2%程度だけどエンコード時間が長いので短縮した時間は長い。
このソースだと測定ミスを疑うほど圧倒的にCore i7が速いね。

DDR2666でAVX、AVX2を無効にして、マルディプレクスバッファサイズの設定を変更。
ソース1
encode1_avx
無効にしたら3%速くなってCore i7より速くなった。
AVXが苦手なのは本当なのね。

ソース2
encode2_avx
こちらは7%速くなったけどCore i7には遠く及びませんな。

今度はメモリーを2666で動かしたままOCしてみるよ。
ソース1
encode_oc1
3.6GHzが最速になってそれ以上OCすると遅くなっていく……
これは動いているけど不安定だと思った方が良いね。

ソース2
encode_oc2
3.7GHzが抜けてるのは気にするな!
こちらはクロック通りに上がっていくねぇ。
ソース1はミスったのか頭打ちになってたのか。

結論
メモリーは1Rankがいいぞ!
メモリークロックは速い方がエンコードも誤差範囲レベルではあるものの確実に速くなる。
CPUクロックはオーバークロックした方が速くなるけど、適度に喝入れをしないと逆に遅くなるケースもある。
AVX, AVX2は両方無効にした方が速くなる。
基本性能のゴリ押しで命令系の不利はひっくり返せる局面もある。
ひっくり返らない部分はCUDAが使われる場面だと思われるので、CUDAを有効活用すると逆転しないまでも差が縮まると思われる。
今度はCUDAを使った時の検証するか。