一晩おいて思ったんですが、前回の記事での測定結果は一部直感に反するのですよね。
- SetThreadAffinityMask 等を呼ばない場合に速くなったり遅くなったりするのは、直感に合致する。たまたま別のコアにスレッドが割り当てられたら速くなるだろうし、同じコアの別の論理プロセッサに割り当てられたら遅くなるだろう。
- SetThreadIdealProcessor を呼んだ場合に(速くはならないが)遅くならないのは、直感に反する。しかも、測定時はわざと同じコアの別の論理プロセッサを優先的に使うように指示したにもかかわらず、遅くなっていない。
- job queue をスレッドごとに持たなくても速度に変化が見られない点については、よく分からない。直感ではどちらとも言いがたい。
あと、測定したのは i7-2600K SandyBridge 上なのですが、この CPU の LLC は(わずかに non-uniform access だけれども)共有なので、スレッドがコアを移動することによるペナルティは比較的小さいはずです。そのため前回の測定結果では差が見られないという可能性があります。たとえば Core 2 Quad とかだと L2 はダイごとに分かれていて、しかもダイ間は FSB という今時ものすごく遅いバスを介して接続されているので、ペナルティは相対的に大きく出るでしょう。すぐに計測できればいいんですが、今環境が無いので…(マザーやCPUはある)
というわけで、もっと詳細な計測ができるまでは、Win32 に関してはこのままにしておきます。pthread の場合は完全に新規に書くことになるので、もっとも単純な構造にします。
Ut Video Codec Suite はマルチスレッドエンコード/デコードをサポートしています。ULxx においてはスレッドへの分割は映像を横長の帯(これを band といいます)に分割して割り当てるのですが、分割後の処理中にスレッドが CPU コアをまたぐとキャッシュミスして遅くなるので、以下の対策を実装してあります。
Read the rest of this entry
Ut Video Codec Suite の Mac 版の開発は、借りている MacBook 上でやっています。そろそろ返してくれということなので、Mac mini (Mid 2011) の梅モデル(= 一番安い 52,800 円のモデルのこと)をヨドバシで買ってきました。
Read the rest of this entry
ララビットから限定版が届きました。こっちは PS3 版。2次予約だったので遅れて到着となりました。
Read the rest of this entry
- バグ修正
-
- Windows で、入出力の幅と高さが一致していることをチェックしていない。
Read the rest of this entry
夜中に始めたら、やめ時を逸したのでそのままエンディングまで行ってしまいました。
まあ、今までのエスコンだと思ってプレイしたらそりゃあコレジャナイってことになりますね。昔々、PC のゲームで戦闘機やら爆撃機やらいろいろ操縦するのをやったのを思い出しましたが、ゲーム全体としてはそれに近いのかもしれません。
Read the rest of this entry
エビテン(エンターブレインがやってる通販サイト)から限定版が届きました。箱○版ね。
Read the rest of this entry
#534 (Ut Video Support) – FFmpeg
んっ?
注: wishlist が登録されただけであってコードが commit されたわけではない(少なくとも現時点では)
いつでも QuickTime の挙動調査。今回はちょっとだけ。
Read the rest of this entry
ハードクリアしてきました。ノーマルクリアから1ヶ月たってますね。
3-4 が辛くて、全然クリアできる気がしませんでした。主にメカ蜂が辛い。仕方がないので、とりあえずアーマーランクを6から7に上げたら、それなりに時間はかかるもののクリアはできました。それでいいのかという話はありますが。インフェルノになったらこの手は使えないんですよね…(最高ランクの8にしても火力は上がらない)
さて、エンディング?ですけど、ちょっとだけ見れる長さが増えて、ひとまず戦場を無事離脱できたっぽい所までは描写されてました。ていうかまだ先があるのかインフェルノ。本部に無事到着するんですかね。