2012年8月13日月曜日

W530をベンチマークしたりする。 (OpenGL・DirectX編)


前回につづいてW530のベンチマークです。

まずはOpenGLのディスプレイデバイスとしての評価です。
SPECviewperfを使用しました。

4. SPECviewperf V11.0 (モード : 自作機 / W530 の順に記載)
catia-03 : 16.47 / 22.68
ensight-04 : 10.53 / 11.77
lightwave-01 : 25.78 / 44.21
maya-03 : 34.57 / 39.75
proe-05 : 9.88 / 12.63
sw-02 : 24.90 / 30.64
tcvis-02 : 15.06 / 22.38
snx-01 : 12.92 / 17.47

GPGPU関連ベンチではFermi世代であるQuadro600にあと少し及ばない状況に
なっていましたが、OpenGLの性能に関してはKepler世代のK1000Mが優勢です。
すべてのモードでFermiを上回るスコアを出しており、
最大で約171%、最小でも約112%の値となっています。


最後にDirectXベースのベンチマークです。

5. 3DMark06 (モード : 自作機 / W530 の順に記載)
SCORE : 8128 / 9541
SM2.0 SCORE : 3138 / 3360
HDR/SM3.0 SCORE : 2815 / 3747
CPU SCORE : 6813 / 6581

こちらもOpenGLと同様K1000Mが優勢な結果に。
CPUもi5-2500Kに対してi7-3720QMが96%ほどの値となっておりなかなか優秀です。
すでにあれこれほかでもベンチ結果は出ていますが、ディスプレイデバイスとしての
KeplerはOpenGL、DirectX問わず非常に期待できそうです。

ちなみに今回DirectX10や11での比較のため3DMark VANTAGEや3DMark 11も
用意したのですが、KeplerなQuadroへの対応がまだなのか、もしくはOptimusとの
相性がわるいのかそちらはプロセスは動き続けるものの、画面が表示されなかったため
比較には使用しませんでした。


と、こんな具合にW530購入時の目論見以上の結果でありとてもよさげな感じです。
また室温30℃の環境で評価を行いましたが、CPU・GPUともに低発熱で好印象。
ベンチマークによる負荷時の最高温度としてはCPUは60℃前半、GPUは50℃後半と
いったところ。どちらも生産プロセス縮小の恩恵にあやかっているという感じです。

というわけで、よさげなW530を使い倒してあれこれしていきたいところ。


---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

W530をベンチマークしたりする。 (GPGPU編)


出先でもblender含めて動画編集とかそこそこのことができる環境が欲しい感が
強まってきたのでThinkPad W530をBTOしてみました。

ちなみに現在使用中の自作デスクトップPCはこんな感じ。

・自作機
Windows7 64bit
Core i5-2500K 3.3GHz (TB3.7 4C4T)
※統合GPUはIntel HD Graphics 3000
Z68
PC3-12800 DDR3-1600 SDRAM 4GB*2
ELSA Quadro600(1GB)
2.5inch 7200rpm 500GB HDD

なので出先で自作機の8割くらいのことができたらうれしいなぁと思いつつ
BTOしたW530の構成はこんな感じに。

・ThinkPad W530
Windows7 64bit
Core i7-3720QM 2.60GHz (TB3.6GHz 4C8T)
※統合GPUはIntel HD Graphics 4000
QM77 Express
PC3-12800 DDR3-1600 SDRAM 4GB*2
Quadro K1000M(2GB)
256GB SSD

非RetinaなMBP15インチなども検討しましたがMacは今の環境からあまり変えたくないこともあったり、
ThinkPadも以前と比べだいぶリーズナブルなお値段になってて驚いたりしつつ、構成決めて即注文、
10日ほどで手元に納品されました。

で、先ほどの構成を見比べてみると
・CPUの世代はSandyBridgeとIvyBridge
・高クロックで4TなCPUと相対的に低クロックで8TなCPU
・GPUの世代はFermiとKepler
・ディスクリートGPUでもデスクトップ向けとモバイル向け
などなどの違いがどれほど効いてくるのか、気になるところです。

というわけであれこれベンチマークしてみました。


まずはGPGPU関連ベンチから。モード : 自作機 / W530 の順に記載してます。

1. LuxMark v2.0 (OpenCL GPUs)
Simple : 701 / 2556
Medium : 101 / 130
Complex : 50 / 70

2. Direct Compute & OpenCL benchmark v0.45b
DirectCompute Score : D1258.4 / D1045.7
OpenCL Score : C717.3 / C626.4
CPU Score : M50.7 / M72.1

3. GPGPUベンチマーク v1.0.1
CUDA N-Body ウインドウモード : 118GFLOPS / 76GFLOPS

blenderのCyclesやLuxRenderを利用する上でGPGPU関連の性能は気になるところ。
Quadro600、K1000M、どちらもCUDAコア数96、その他もよく似た仕様なのですが
やはりKepler世代はGPGPU用途にはあまり向いていないようです。

LuxMarkでは一見Quadro600な自作機を大きく引き離しているように見えますが
じつはこの値はHD4000とK1000Mの両方がOpenCLデバイスとして稼働してる状況。
GPU別で測定してみると、SimpleモードでHD4000単体が2100ほどのスコアなのに
対して、K1000M単体では400くらいのスコアになりました。

IvyBridgeになり統合GPUが強化されOpenCLにも対応とは知っていたものの
こうして見てみるとかなり強力になっているのがよくわかります。

長くなったのでOpenGLやDirectX関連のベンチは次で。

---------------------------------------------------------------
 コメントなどありましたらこちらへ->web拍手

2012年5月16日水曜日

Cyclesでのレンダ時にノイズを減らすための5つのポイント


blenderの公式wikiでCyclesのあれこれを調べていたら、"Reducing Noise"というページが。
詳細に説明してあるのですが、とりあえずすぐに役立ちそうなポイントを抜粋してみました。


1. レンダラの設定に関して

・パストレースのバウンスの設定を少なくする
・バウンスの設定を多くする必要があるシェーダーの使用を減らす。
diffuse、glossy、glassの順にバウンスを計算する必要がより多くなる。
・Integratorのプリセットで"Limited Global Illumination"を選択する。
(バウンスを抑制した設定と同等。)


2. 光源

・強すぎる光源やハイライトの領域がくっきりしすぎた光源を置かない。
具体的な内容としては
・周りのオブジェクトが白飛びするくらいのランプは調整する。
・コントラストがはっきりしたマップをエミッタに使用しているならブラーをかけてみる。
・スポットライトのフォールオフ半径を多めに設定する。
といったあたり。

・ライトのフォールオフを適切に設定する。
"Light Falloff"ノードのSmooth factorで光源と物体の距離がゼロでの光の強さを設定しておく。

・室内のシーンのレンダリング
カメラは屋内、光源は屋外。窓やドアなど開口部から入る光で室内が照らされているという
シーンはよくあります。このような状況では光源のパストレースを単純にするため、開口部の
代わりにemissionシェーダを設定したメッシュライトを設置するのもノイズ削減に有効。


3. コースティクスに関して

・コースティクスを無効にする。
コースティクスをレンダするには多くの処理が必要になります。
そのための十分な計算が行われない場合にはノイズを伴います。
"No Caustics"のオプションを設定することでコースティクスを無効にできます。
ただし、その場合光源に関する処理を一部省くためシーンがやや暗くなることがある。

・はっきりしたハイライトの存在する物体にあたった光が、ぼんやりとしたハイライトを持った
物体を照らしている場合もノイズの発生源となりうる。
この場合、"Filter Glossy"を設定することでノイズを減らすことができる。
ただし、処理としては反射にブラーをかけるため正確さは損なわれる。


4. マテリアルに関して

・シェーダーのcolor要素として1.0やそれに近い値を設定しない。
値は0.8以下に設定し、値をそれ以上大きくしたいならばライトをより明るくして調整する。

・emissionシェーダを利用し、"Sampled as a Lamp"が有効な場合ノイズが増える可能性がある。

・フェイクのガラスマテリアルを利用する
コースティクスの項で説明したように、"No Caustics"を有効にするとノイズは減りますが、
Glass BSDFシェーダを適用したマテリアルの場合、影に透明度がなくなってしまいます。
そんなときはGlass BSDFとTransparent BSDFシェーダを利用したフェイクガラスマテリアルを
作成するのもひとつの手です。


5. その他

上記の各種対策を行なってもノイズが出ることはあります。画面全体に白くポツポツと現れる
ファイアフライノイズというのはなかなか対策が難しいところです。
Cyclesでは"Clamp"の設定をすることでそのようなノイズを抑制できることがあるそうです。
"Clamp"は何を設定してるかというと、インテグレータが処理した各サンプルが、レンダ画像の
各ピクセルに対してどれくらい寄与するか?という寄与率の上限を調整することでノイズを
削減する、という仕組みだそうな。


まとめたけれど、実際に試せてないもの多いので何かシーンを作りつつ検証していきたいところ。

---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手

2012年4月17日火曜日

LuxRender v1.0RC1がリリースされた模様。

いたLuxRenderですが久しぶりにv1.0として正式版のリリースが予定されているようです。

今回はそれに先駆けてv1.0RC版がリリースされた模様。
というわけで以下にリリースノートをざっくり訳してみました。


皆さん、ついにこの時がやってきました!LuxRenderの新しいRC版のリリースです。
LuxRenderがプロダクションレベルの制作に用いられるような品質に到達している、
いうことは頻繁に目にするようになった様々なアーティストによる使用事例から
明らかです。

今回のバージョンアップではその実績を強調するべく従来の0.xのナンバリングではなく
バージョンナンバーは1.0としました。まだ荒削りな部分はいくつか残っていますが、
今後数週間で可能な限り改善しベストなものにしたいと考えています。
よりよい正式版リリースのためにも皆さんからのフィードバックをお待ちしています。

今回配布のRC版にはSLG(Small Lux GPU)も含まれています。SLGは依然開発段階で
ありますがGPUによる驚くほど高速なレンダリングと十分な実用性を提供するものです。
今回のリリースは多くの皆さんの手によって可能となりました。そんなすべての皆様、
特にv0.8リリース以後に開発に参加してくれたメンバーに感謝の意を表したいと思います。


ダウンロードはこちらのページから可能です。
正式版リリースに向けてスプラッシュスクリーン募集のコンテストも予定されています。

以前のv0.8からの変更点は下記のとおりです。
(ご覧のように大量にあります。いくつか大幅に改善された機能もあります。今回の
"大幅な改善"は、まさに文字通りのものであり驚くべき量の作業の賜物です)

・さらに改善されたSPPM(Stochastic Progressive Photon Mapping)レンダリング
・より改善されたHybrid Pathレンダリング
・新しいHybrid Bidirectionalレンダリング
・ネットワークレンダリング時の各レンダノードへの自動再接続に関する改善
・レンダリングの速度とメモリ使用量の改善
・GUIの修正
・点光源およびスポットライトにも面光源と同様のpowerとefficacyの設定が可能に
・ノーマルマップに対応
・アニメーションレンダに関する改善
・論文に記載されているモデルにより忠実な実装になるようにcarpaintマテリアルを改善
・ボリュームオブジェクトの見た目を定義するためにcolordepthテクスチャを利用可能に
・新しく導入されたlayeredマテリアルにより、複数マテリアルを自由にレイヤーとして
 重ねることができるようになりました
・新しいglossycoatingマテリアルを適用するとどんなマテリアルにも光沢を与えることができます
・新しいfresnelパラメータではRGBカラーやミックス、グラディエーションなど様々な要素を設定できます
・metal2マテリアルは以前のmetalマテリアルよりもより柔軟な表現が可能になりました
・カラースペースに関しての修正
・linearトーンマッパーが改善され現実のライティングのしくみにより近い挙動になりました
・loop subdivisionが有効になっているオブジェクトの処理が改善されました
・Bidirectionalインテグレータの光源に関するオプションについて、direct samplingが新しくなりました
・イメージバッファの扱いがより早くなりました
・新たに導入されたSQBVHアクセラレータにより従来のQBVHに較べ、よりよい結果が
 得られます。 (SQBVHは開発中の機能になります)
・いくつかのDLL導入に伴いビルド方法が変更されました。実行ファイルサイズが小さくなりました
・その他たくさんのバグ修正と全面的な改善


・ソースコードの入手について
ソースコードが必要な方は下記のHGリポジトリからv10RC1のタグが付いたファイルをダウンロードしてください。

SLGを含むLuxRaysやエクスポータのソースはこちら
・Luxblend (古い2.4系向けのエクスポータ): http://src.luxrender.net/luxblend/file/c16130cea655
・LuxBlend25 (現行の2.6系向けエクスポータ): http://src.luxrender.net/luxblend25/file/8c20fa83f33f


以上ここまで。
ノーマルマップが使えるようになったのは非常に助かります。
マテリアルも従来からのもの、新規追加のもの、どちらも使い勝手がよくなっているようで
いろいろ試してみたいところです。他にもGPGPU関連や各インテグレータの改善などなど
満載という感じ。

v1.0正式版リリースのタイミングに向けてこちらに新機能の解説ページも準備されています。
今月末あたりにはblenderも2.63がリリースとなりそうな状況なので、こちらも楽しみです。


---------------------------------------------------------------
コメントなどありましたらこちらへ->web拍手