DAZ StudioのレンダリングをPCはそのままで高速化する方法とは?!

  • 2017年9月15日
  • 2018年4月16日
  • 3DCG

NVIDIA製GPUが無いPC上のDAZ Studioで30分以上かかっていたレンダリングがアマゾンAWS上のNVIDIA提供の仮想Windows上では2分程度まで高速化できたのでその方法を紹介します。

アップデート情報

2018年4月4日時点での最新情報:

★AWS Elastic GPUを使って「リモートデスクトップ接続」から直接DAZ Studioを起動する方法を以下の記事で紹介しています。課金も安くできます。

【DAZ Studio】AWS EC2 Elastic GPUを使ってレンダリングを高速化?!

 

2017年11月29日現在の情報を本記事の内容をベースにして、以下の記事でアップデート情報を紹介しています。参考にしてください。

【DAZ Studio】AWS EC2とGCP GCEでIrayとLuxRenderの速度と画質を比較?!

本記事から追加された主な新しい情報は以下です。

  1. AWS EC2 GPU付きインスタンスへのDAZ Studio起動のための接続を有料の「RealVNC」から無料の「Chromeリモートデスクトップ」に変更
  2. Irayに加えLuxRenderも物理レンダラーとして速度と画質を確認
  3. LuxRenderをGCPのGCEのGPU付きインスタンスでもスレーブとして起動しておいてAWSのDAZ StudioのRealityからLuxRenderを起動してGCP側と分散レンダリングするとIray単独より高速にレンダリングが可能

また、RealVNCやChromeリモートデスクトップを使ったWindowsログインでは複雑なパスワードを手打ちでしか入力できなかったので面倒であり打ち間違いが多発していましたが、以下の方法でパスワードをワンクリックで自動入力できますので参考にしてください。

【DAZ Studio】Chromeリモートデスクトップでパスワードを自動入力?!

実現以前と実現後の比較映像

デスクトップPCの画面を撮影してYouTubeにアップしたので紹介します。

DAZ Studio 4.9のレンダリングをAWSで高速化して比較した映像紹介

今回紹介している画像サイズは300x300pixですが、従来の自宅PCでレンダリングするのに30分程度かかっていたのが、AWSでNVIDIAが提供している仮想Windows上のDAZ Studioでレンダリングすると2分程度で終わりました。

レンダリング中は実質的にDAZ Studioが使えなくなり、CPUパワーのほとんどを使うのでブラウザーの操作もかったるくなり、パソコンの作業を中断して他の作業をしながらレンダリングが終わるのを待っていました。その待ち時間から時間単価$1/hrを支払うことで解放されたわけですが・・・

アマゾンAWSとは

アマゾンAWS(Amazon Web Services)の存在は数年前から知っていて注目していました。Wikipediaから抜粋を引用します。

Amazon Web Services(アマゾン ウェブ サービス、AWS)とは、Amazon.comにより提供されているクラウドコンピューティングサービス(ウェブサービス)である。これらのサービスは全世界で11の地域に提供されている。AWSの有名なサービスにAmazon Elastic Compute Cloud (EC2) とAmazon Simple Storage Service (S3) がある。これまでのクライアントが保有していた物理的なサーバファームと比較してAWSは大規模な計算処理能力を速やかに、かつ安価に提供出来る。

しかも、アマゾンの最大の稼ぎ頭は通販事業ではなくこのAWSだということはあまり知られていません。以下の記事を参考にしてください。

アマゾンの意外な稼ぎ頭 CIAも顧客の事業とは

アマゾンの営業利益の7割超を稼いでいるAWSとは? と言っても主に企業向けのサービスなのでいわゆるBtoBが主体であり、個人ユーザーからは関心を持たれていなくて当然です。

しかし、1年間無料でこのAWS上の仮想Windowsが個人でも使えるとなると興味が湧いてきて、最初は無料枠の中で軽いソフトウェアを動かしてタブレットなどからアクセスして「これが本当のモバイルWindowsだ」などと密かに遊んでいました。

ところが、最近になって3DCGでメインに使っている無料のDAZ Studio 4.9というソフトを、このAWS上の3DCG向け仮想Windowsで動かせることが分かってから、自宅PCの10倍以上のレンダリング性能を1時間当たり1ドル(時間レンタル)で使えるようになりました。

初心者にとってはこの性能は宝の持ち腐れなので1時間で1ドルは高いと感じるかもしれませんが、中級以上の3DCGマニアから見ると、その性能のパソコンを買うにはいくらかかるかを考えれば「安すぎる」と感じる人も多いのではないでしょうか?

そこで、AWS上の3DCG向け仮想Windows上でDAZ Studio 4.9を使うにはどうすれば良いのかについて、私が実際に行っている方法を以下でわかりやすく解説しますので参考にしてください。

無料枠で使っているSpotify Connect

無料枠で使えるAMI(Amazon Machine Image)のインスタンス(個別の仮想Windows/Linuxなど)はさすがに性能が低く、「t2.micro」は以下のようなスペックです。
t2.micro :可変 ECU, 1 vCPU, 2.5 GHz, Intel Xeon Family, 1 GB メモリ, EBS のみ

私のPCは2コア 3Ghz, Intel Core2 Duo, 8GBメモリー, 1TBストレージなので、10年前の自作PCですが上記よりかなりスペック的には上です。

ですから、t2.microを3DCGに使用すると逆に大幅にレンダリング時間が長くなるので意味が無いですが、音楽ストリーミングサービスのSpotifyをAWSの仮想Windows上で動かしてモバイル端末からアクセスすると、モバイル固有の別の便利さが出てきます。

いきなり3DCGに行く前に、とりあえずこの無料枠のt2.microが使えるようになるまでを以下の記事で紹介していますので参考にしてください。いきなり3DCGの仮想Windowsで試行錯誤しているとどんどん課金されもったいないです。

SpotifyをアマゾンAWS上で動かす5つのステップ

企業向けのシステムなので専門用語や英語や省略語が出てきて最初はわかりにくいですが、私が最初にアカウントを取得した頃はほとんどのページが英語で難解でした。今はほぼ日本語化され平易な表現になりましたし、Google翻訳(Chrome)を使えば英文のページも日本語で読めるので、初心者でも理解しやすくなったと思います。

いかがでしょうか? Spotifyは動きましたか? SpotifyでなくともYouTubeをブラウザー上で開いてみれば映像と音声のパフォーマンスが実感できると思います。私は「t2.microはYouTubeには使えない」とは感じましたが・・・

Amazonマーケット・プレイスで他の業者が用意しているAMIを使ってみる

今回は「Genymotion」というAndroidエミュレーターを以下の記事で紹介します。これは有料ですが上記より簡単にインストールして使えるようになります。

【Genymotion】ブラウザで使えるAndroidエミュレーターを動かすには

通常はAWSの仮想Windows環境にログインして使うのに「リモートデスクトップ接続」というソフト/アプリを使います。これはあらゆるプラットフォームで用意されているので、Windows/Mac, iOS/Android/AmazonOS(Fire)からひとつの仮想Windows環境を共有して使うことができます。

Windowsには「Windowsアクセサリー」として標準でインストールされているので、すぐにWindowsメニューから起動できます。

上記のGenymotionはなぜかブラウザーからログインして使うようになっていて、デスクトップで使うことが前提のような気がします。もちろん私はこのGenymotionをわざわざモバイルから使ったことはありませんが・・・

3DCGで使うことを目的として、NVIDIAの仮想GPU(GRID)を搭載したAMIがAWSマーケットプレイスからインストールできます。これを使ってDAZ Studioを動かす方法を今回は紹介します。

AWSで標準的に用意された3DCG向けのAMIもありますが、時間単価は$1/hrで同じなのにNVIDIA GPUではないために、DAZ Studioに搭載されているNVIDIA製Iray物理レンダラーのGPUによる高速化はできません。

なぜ今までDAZ Studio 4.9はAWS上で使えなかったのか?

1年以上前から何回もチャレンジしてみていましたが、インストールまではDAZ3Dのインストール・マネージャーで簡単にできますが、DAZ Studioを起動すると「OpenGLが1.1なので1.3以上でないと動きません」みたいなメッセージが表示されて起動自体ができませんでした。

これは高性能なAMIで試してみても同じであり、逆にiClone6などの似たような用途の他の3DCGソフトは起動できます。しかし、DAZ Studio 4.9にこだわるのは理由があります。

それは、FaceGen ArtistというWindows専用の小さな会社が開発したソフトがありますが、正面の顔写真1枚から精密な3D化した顔データを生成してくれます。汎用的なバージョンもありますが、1万円以下で買えるArtistではDAZ Studio 4(Genesis 1 or 2)しかサポートしていません。

私はこのFaceGen Artistが生成する3Dキャラクターの雰囲気と使い勝手が気に入っているので、少々レンダリングに時間がかかってもこの2つの3DCGソフトの組み合わせを使い続けてきました。そしてたまにAWS上で動かせないか試しては失敗しては諦めていました。

今回どうしたら使えるようになったのか?

今まではAWSの仮想Windowsへの接続は、リモートデスクトップ接続とブラウザー接続でしか試していませんでしたが、昔使っていたVNC(Virtual Network Computing)という方式のサーバーとクライアントソフトの組合せで試したところ、AWS上でDAZ Studio 4.9の起動ができました。

ところが、VNC上ではDAZ Studioは使い物になりませんでした。カメラのズームをするためにマウスドラッグをすると拡大側にドラッグしても縮小してしまったりとコントロールが効きません。この種の操作を多用するので「使い物にならない」わけです。

一方でいったんDAZ Studioを起動した後では、リモートデスクトップ接続でも自宅PCを使うのと同じ感覚のレスポンスで拡大縮小はもちろん他の操作でもまったく違和感なく使えました。

つまり、最初はVNCで接続してDAZ Studio 4.9を起動したら、VNCは閉じてリモートデスクトップ接続をすれば起動後のDAZ Studioをサクサクと使えるようになります。今まではそこが盲点でした。接続方式(プロトコル)でソフトの起動が左右されるという発想はありませんでした。

NVIDIAが提供しているAMIのインストール方法

AWS上でのインスタンス管理画面は以下のようなイメージです。

DAZ Studio Iray

私は用途別に複数のインスタンスを管理していますが、最初は無料枠やGenymotionくらいだと思います。今回のNVIDIAが提供しているAMIはアマゾン以外の企業が提供しているものなのでAWSマーケットプレイスからインストールします。その意味ではGenymotionと共通しています。

左上の「インスタンスの作成」ボタンをクリックします。

DAZ Iray

左中央の「AWS Marketplace」をクリックします。

DAZ Iray

中央の検索窓に「NVIDIA」と入力してEnterボタンを押します。

DAZ Iray

スクロールして上記を表示し、右端の「選択」をクリックします。

AMIの詳細が表示されるので、時間単価が$1.01を確認して右下の「Continue」ボタンをクリックします。

DAZ Iray

「g2.2xlarge」が選択されているのを確認し、右下の「確認と作成」ボタンをクリックします。

DAZ Iray

無料利用枠外であることを確認し、右下の「作成」ボタンをクリックします。キーペアを確認し、その下のチェック枠をクリックしてチェックを入れ、右下の「インスタンスの作成」ボタンをクリックします。

★この時に英語のエラーメッセージが表示された場合は、おそらくGPUの利用制限数がゼロになっていると思います。その場合はサポートセンターからGPUの利用制限数を「1」以上にするよう申請する必要があります。私の場合は申請の翌日にはメールが来て使えるようになりました。

AWSサポート

電話による問合せのメッセージの下に以下のWebによる問合せコーナーがあるのでここで右上の「Create case」でケースを作成して申請します。私の場合は「1」で申請したところ「5」に設定されました。メールは日本語で来るので安心です。

AWSサポート

以上でNVIDIAが提供しているGPUが搭載された仮想Windowsのインスタンスが作成されます。使えるようになるまで少々時間がかかるので、5分くらいおいてからパスワードを作成しリモートデスクトップ接続でログインします。

AWS上にDAZ Studio 4.9などをインストール

最初はブラウザーはIEしか使えないので、IEでFirefoxをインストールし、FirefoxでChromeをインストールして使います。なぜChromeかと言うと、DAZ StudioなどをダウンロードしたりインストールするDAZ3Dというサイトは全部英語ですし、英語のページを読む機会が多いのでGoogle翻訳が使えると何かと便利だからです。

以下のサイトに行きます。

https://www.daz3d.com/

DAZ3D

「GET STARTED HERE」ボタンをクリックします。DAZ3Dへのアカウントを作成し、「Install Manager」を先ずダウンロードしインストールします。Install Managerに作成したアカウントでログインし、必要なファイルを一括してダウンロードしインストールします。この時点では無料でできます。

私の場合はこの10年間に多くのコンテンツを購入したり無料版を使ったりしているので、それを全部ダウンロードすると約4GBにもなりかなりな時間がかかりますが、一括してできるので食事でもしている間に完了します。

DAZ Studio 4.9を起動するには

DAZ Studio 4.9のアイコンをダブルクリックするとエラーメッセージが表示され起動できません。そこで「RealVNC」のVNCサーバーである「VNC Connect」をインストールします。以下に行きます。

https://www.realvnc.com/en/

DAZ Iray

「START FREE TRIAL」をクリックします。

「丸2」で「Professional」を選んでE-Mailアドレスを入力して「NEXT」ボタンをクリックし、必要事項を入力して「SIGN UP」ボタンをクリックしてアカウントを作成します。

ロボットでないにチェックを入れ「SIGN IN」ボタンをクリックします。少し下にスクロールして「VNC Connect」のリンクをクリックし、画面に従ってVNC Connectをインストールします。

ファイルエクスプローラーで「Program Files」から「RealVNC」フォルダーに行き、該当するアプリケーションを起動してライセンス認証とVNC Connectの起動を行います。

次にローカルPCのWindows上で同様にしてVNCクライアントである「VNC Viewer」をインストールします。VNC Viewerを起動してログインするとTeam内にAWS側のサーバーのアイコンが表示されるので、それをダブルクリックして開き、手打ちでパスワードを入力してWindowsにログインします。

AWS側のデスクトップが開いたら、DAZ Studio 4.9のアイコンをダブルクリックして起動します。起動が完了したらVNC Viewerは閉じます。再度リモートデスクトップ接続でAWSに接続すれば、すでに開いているDAZ Studio 4.9が使えるようになります。

そのままでNVIDIAのGPUを用いた高速レンダリングが可能になっているはずですが、もし遅い場合は以下を参考にしてレンダリング設定を行ってください。

 

今後の課題

NVIDIAから提供されているもうひとつのソリューションとして「Iray Server」があります。

★現在は日本では販売されていないので無料トライアル版もダウンロードできなくなりました。

Iray フリートライアル

以下は過去に私が行った実験結果として参考にしてください。

これはNVIDIA製GPUを使った分散レンダリング環境を実現します。実際にAWS上に無料トライアル版をインストールして実行してみると、HTTPサーバーをWindows上で立ち上げれば使えました。

DAZ Iray

ちなみに、Iray ServerのAWS内での操作はブラウザーから「127.0.0.1:9090」で出来ますが、初期ユーザーIDとパスワードはそれぞれ「admin/admin」ですので、それでログインしてからパスワードを変更してください。

ところが、インスタンスのセキュリティーグループでIray Serverが使っている9090ポートの穴を空けても外部のローカルPCから未だにIray Serverにアクセスができていません。

DAZ Iray

AWS上でIray Serverをバックグラウンドで動かして、レンダリングジョブをキューに投げておけば、Iray Server上でDAZ Studioとは独立してレンダリングを行えるので、そういう点では現状でもメリットを感じます。

また、DAZ Studioから「Streaming」で「Connect」ボタンをクリックしてネット経由でのレンダリングやプレビューも確認してみましたがOKでした。

DAZ Iray

もし外部からアクセスができるようになれば、ローカルPC上のDAZ StudioでもNVIDIA GPUのパワーが使えるようになるので、ローカルPCからAWSにファイルを渡すとか、VNCでDAZ Studioを起動するとかの間接的な煩わしい作業から解放されます。

私は今までサーバーを管理した経験があまり無いのでこの辺りの知識に乏しいのですが、サーバーに詳しい方なら上記のことからどうすれば良いかはすぐにわかるのではないかと想像します。

今後わかったら適時レポートします。

まとめ

いったんVNCでDAZ Studioを起動した状態をAMIにできれば、そこからインスタンスを起動できるので2回目以降はVNCを使う必要が無くなりひとつ手間が省けます。

以下の記事を参考にして「イメージの作成」によりこれが実現できないかを検討中ですが、まだ検証はできていません。

[AWS] EC2インスタンスのAMIを作成する。

DAZ Iray

さらに、スポットリクエストが使えるようになればさらに安く利用ができそうですが、あまりいっぺんにあれもこれもやるとトラブルが起こった時に原因を切り分けるのに戸惑いそうなので、少しづつ進めていきたいと思います。

初心者にとっては特に後半はわかりにくかったかとは思いますが、私の消化不良が原因ですので今後改善していくつもりです。

AWSの活用の仕方は他にもありそうなので、コストと利便性のバランスを考えながら最適な方法を模索していきたいと考えています。もしアイデアが浮かんだけど実行する時間やスキルが不足しているということであれば、このブログの「お問い合わせ」からでもけっこうですのでご連絡頂ければ私が代わりに検証できるかもしれないのでどうぞ。

★現時点ではAWSとは別のGoogle Cloud Platformを使ってNVIDIA GPU付きのインスタンスを動かして、その上でLuxRenderというフリーの物理レンダラーをスレーブモードで動かして、ローカルPCのDAZ Studio4.10から有料のRealityプラグイン経由でLuxRenderのネットワークレンダリングに成功しています。

ただし、実用的にはまだいくつか課題があるので、実用性の見通しが立ったら別の記事で紹介したいと思います。

AWSはGPU付きだと無料枠から外れるので最初から$1/Hrの課金が請求されますが、GoogleではGPU付きでも最初の約3万3千円分は請求されず無料で使えるメリットがあります。

ではでは、きらやん