研究の最近のブログ記事

Ubuntu Linux の OpenGLの速度の問題 その3(FreeBSD vs Linux)

皆様、新年明けましておめでとうございます。
本年も田中ゼミをよろしくお願いいたします。

さて新春第一回目の記事となりますが、Linuxを使われている方からご好評をいただいておりますベンチマーク関連の話題をご提供させていただきます。


先日の記事でベンチマークソフトを作成して、LinuxとWindowsの速度差を比較しました。

過去の記事として、こちらこちらも参照してください。

今回は、田中ゼミでメインで使用しているFreeBSDという unix系のOSと Ubuntu LinuxとでOpenGLの処理速度を比較してみようと思います。

【計測環境】
ベンチマークテストをしている様子です。以下の写真はFreeBSDでベンチマークテストをしているときのものです。
120104freebsd.jpg























<<ソフトウェア>>
前回の記事で公開したソフトウェアを使用して検証します。

<<システム環境>>
 OS: 
   FreeBSD 8.2-STABLE 64bit
   Ubuntu Linux 11.10 64bit
 Driver:
   FreeBSD:  nvidia driver 280.13 (2012年1月6日 290.10 で再試験)
    ※ 【2012年1月6日追記:】
      FreeBSD のドライバのバージョンを290.10に上げて再度試験を
      しましたが、FreeBSD側の結果はほとんど変わりませんでした。
   Linux:  nvidia driver 290.10
 CPU:
   Intel Core i7 950   3.06GHz
 メモリ
   24GB
 GPU:
   NVIDIA Quadro 2000
 ※株式会社ゴーガの小山氏よりご提供いただいたものです。詳細はこちらの記事をご覧ください。

<特に設定したこと>
 Linux:
 (1) デスクトップ環境を LXDEに変更(余計な負荷を減らすため)
 (2) 3D Desktop 環境 (Compiz)がOFFになっていることを確認

【計測結果】
以下の実験では球オブジェクトの分割数に対するフレームレート(fps)を計測しています。このときfpsの値が大きい方が処理速度が速いことを意味します。

<< NVIDIA GeForce GTX 580>>
120104geforce580.jpg














<< NVIDIA Quadro 2000 >>>
120104quadro.jpg













【考察】
計測結果から分かったことは、

<<FreeBSDについて>>
 (1) Quadro 2000GeForce GTX 580結果がほとんど同じになったことに
   驚いています。この2つはシェーダユニット数やクロック、バス幅に至るまで
   大きく異なっているので、本来はもっと違った結果が得られるはずです。

   これは恐らくベンチマークプログラムが単純過ぎるため、処理速度が飽和状態に
   なって本来の性能が発揮できていないためだと思われます。

 (2) 分割数が大きくなっていっても処理速度が一定値以下にならない
   これはWindowsでも同様な結果になっているのですが、
   ポリゴン数が多くなっても処理速度が落ちないような処理に
   なっているのでしょうか? この部分の疑問が残ります。

<<Linuxについて>>
 (1) まずLinuxはFreeBSDと比較して処理速度が遅くなっていることが
   わかります。
   これはベンチマークの数字の上だけの問題ではなく、
  「次世代3DCGプロジェクト」で田中ゼミが開発している
   様々なソフトウェアでも体感的に大きな差となって出ています。

 (2) 負荷に応じて処理速度が低下していきます。
  FreeBSDやWindowsと異なり、Linuxでは処理負荷(分割数)の増加に応じて
  処理速度が低下していきます。

 (3) Quadro 2000 と GeForce GTX 580の結果からある程度GPUの
  アーキテクチャの違いのようなものが出ています。
  アーキテクチャ的にはGeForce GTX580の方が高機能なのですが、
  全体的にNVIDIAの高機能版ブランドであるQuadroの方が処理速度が
  高くなっていることが分かります。

  一般によく言われているようにOpenGLを使う場合は、GeForceよりも
  Quadroの方が良いということがデータとして表れています。

<<全体について>>
 田中ゼミではNVIDIAのGPUを使って、CGソフトウェアを開発していますが、現時点では上記のような性能上の問題があるため、Linux ではなく FreeBSDまたはWindowsを使っています。

 この問題に関しては早めに結論を出したいのですが、現時点では先送りになっております。


今回の記事が面白いと思った方は以下のボタンをクリックして下さい.

 人気ブログランキングへ にほんブログ村 大学生日記ブログ ゼミ・サークルへ



Ubuntu Linux の OpenGLの速度の問題 その2(Linux vs Windows)

今回はベンチマークテスト用の環境を作ってもう少し詳しく調べてみました。

特に Linux vs Windows でベンチマークテストを行って速度を比較しました。

それでいくつか分かったことがありますので、以下にその結果をまとめます。

【LinuxのOpenGLの問題】
いろいろ田中ゼミで検証した結果、

 (1) LinuxでnvidiaのGPU+メーカー製ドライバを使った場合、
  ポリゴン数が多くなるとOpenGLのレンダリング速度が急激に低下する。
  ※他のGPUやドライバ環境については調査していない

 (2)当初はUbuntuだけの問題と考えていたが、Ubuntu 以外のディストリビューションでも
  速度低下が確認された。
  ※以下のディストリビューションについて検証したが、他のディストリビューションについては未確認
  <速度低下が確認されたディストリビューション>
   Cent OS 6.1 ,Scientific Linux 6.1,Fedora 15

 (3) 速度の低下の問題は、nvidia のドライバのバージョンに依存しない。
  ※複数のドライババージョンで動作を確認

 (4) 3D Desktop環境(Compiz)の有無による影響を調べたが、有意な差異は見られなかった。
  ※ただし、検証時はCompizは常時無効にして、3D Desktop環境による影響を
    受けないように配慮した。

 (5)FreeBSDやWindowsではこういった速度低下の問題は発生しない。

ということが分かりました。


【計測方法】
上記の問題を検証するための実験を行いました。

問題を単純化するために専用のベンチマークテスト用プログラムを作りました。このプログラムではOpenGLの glut で用意されている球物体を使ってレンダリングの速度を検証しています。
球物体をポリゴン分割し、その分割数に対応するフレームレートを計測します。

glutでは、ティーポットや球などの形状情報が予め用意されていますが、これらは全てポリゴンで構成されています。
球物体では以下のように球をポリゴンで分割して描画します。

glutSolidSphere( 半径, 経度分割数, 緯度分割数);

【計測に使用したソフトウェア】
今回の実験用に田中ゼミで開発したベンチーマークソフトウェアを公開しますので、追試をしたい方はこちらのソフトウェアを使用してください。
※今回のソフトウェアではFPSの計算部分についてはこちらのページを参考にさせていただいております。

<<ビルド方法>>
ダウンロードしたntlab-oglbench.tgz を展開して make でビルドしてください。
なお、必要なライブラリは各自でインストールしてください。

<<実行方法>>
実行は簡単です。実行時に引数で分割数を与えるだけです。

例) たとえば、分割数 1000 にしたければ、

./ogl-bench  1000

とします。


【計測結果】
計測の結果を図1に示します。図1のグラフの縦軸は「毎秒何フレーム描画できるのか」を示すフレームレート(FPS)となります。FPSの数値が大きいほど高速に描画していることを示しています。
横軸は球物体のポリゴンの分割数になります。経度・緯度方向それぞれに分割しますので、分割数の2乗でポリゴン数が増加します。

図1の結果からみるとポリゴンの分割数を増やしていくとLinux側の方がWindowsと比較して速度の低下割合が大きいことが分かります。
また、今回の計測環境では、Linux側は分割数が1000を超えると速度が遅くなりすぎて計測不能になりました。

それに対してWindows側は分割数を増やしていっても 360fpsあたりで速度低下が止まります。(FreeBSDでもWindowsとほぼ同様な結果になります



111230bench-log.jpg



















図1.球物体の分割数による LinuxとWindowsのOpenGLの描画速度の比較



【計測結果からわかったこと】
実験の結果から、Linuxは他のOS(今回はWindwos)と比較して、ポリゴン数の増加に対して処理速度の低下が大きいことが分かります。
先の記事でお示ししたLinuxのレンダリング速度が遅いという問題の原因はポリゴン数にありました。

田中ゼミが「次世代3DCGプロジェクト」で開発しているソフトウェアで描画しているCG物体は、美術品や人の肌等を精密意計測したものなので、ポリゴン数が極めて多いためLinuxで速度低下が顕著に表れたと考えられます。



【計測の条件】
111230bench-pc.JPG























※ベンチーマークプログラムを動作させて速度を検証している様子

<ハードウェア>
 ドスパラ Prime Note PC Galleria MR6 
 CPU: Intel Core i7 2720QM
 GPU: nvidia GeForce 540M (2GB)
 メモリ: 8GB

<OS>
 Linux :Ubuntu Linux 11.10 64bit
 Windows: Windows 7 Professional 64bit SP1 

<ドライババージョン>
 Linux: nvidia driver  290.10
 Windows: nvidia driver 285.62(ノート用最新版)

<特に設定したこと>
 Linux:
 (1) デスクトップ環境を LXDEに変更(余計な負荷を減らすため)
 (2) 3D Desktop 環境 (Compiz)がOFFになっていることを確認

 Windows:
 (1) 垂直同期:強制オフ (これをしないと 60fps固定になる)


【2012年1月4日 追記、この記事の続編はこちら】

今回の記事が面白いと思った方は以下のボタンをクリックして下さい.

 人気ブログランキングへ にほんブログ村 大学生日記ブログ ゼミ・サークルへ



お肌の計測装置(お肌のトラブルチェックはいかが?)

田中ゼミでは肌の3DCG再現だけでなく,肌の表面状態を計測するためのシステムを開発しています.

このブログの記事でも研究の方向性を示していますが,今,田中ゼミでは肌の計測から美容面健康面の情報が分かれば良いなっていうことで,肌の計測に力を入れています.

そのために肌専用の計測機器なども購入してメラニン指数やヘモグロビン指数などを計測しています.
こちらはその計測機器でお肌を計測した結果です.メラニンやヘモグロビンの量などが測れます.
田中ゼミで開発しているシステムでは,こういった情報を活用してお肌の状態を調べていきます.

111219hada-keisoku.jpg



















このように着々と田中ゼミで,お肌のトラブルチェック!ができる日が近づいております.
もし,よろしければ被験者として研究にご協力いただける方を募集しています.
よろしくお願いします!

1112129hada-trouble.jpg
























今回の記事が面白いと思った方は以下のボタンをクリックして下さい.

 人気ブログランキングへ にほんブログ村 大学生日記ブログ ゼミ・サークルへ



長野大学の企業情報学部は、オープンソース系のシステムを用いたソフトウェア開発が得意分野なのですが、
意外と知られていません。

たとえば、田中ゼミはCGや画像処理ばかりやっていると思われがちなのですが(そういう人もいますが)、
実はオープンソース系のシステム開発にも力を入れています。

そのため田中ゼミでは、「CGとかデザインセンスは無いけど、プログラムはメチャクチャ得意」っていう人がいます。
もちろん、「CGを制作するのは得意だけど、プログラムは全然ダメ」という人も多いのですが...

というわけで、大学の教育・研究の方のWebページで、そういったオープンソース系システム開発の活動を紹介したページが開設されました。

まだ作成途上のページのようですが、そちらでも田中ゼミの活躍が掲載されていますので、以下のリンクからご覧下さい。



また、引き続き「次世代3DCGプロジェクト」のページもよろしくお願い致します。


FreeBSD.jpg



























今回の記事が面白いと思った方は以下のボタンをクリックして下さい.

 人気ブログランキングへ にほんブログ村 大学生日記ブログ ゼミ・サークルへ



「人の肌」の計測とその応用(健康支援に使えないか?)

hosoi-hikaku.jpg



















田中ゼミでは,デジタルコスメ班が人の肌を計測して,その情報をもとに人間をCG再現をしています.

当初は化粧品のシミュレーションを目的として「リアルな人間のCGを作ろう」というのが
目的だったのですが,最近では少し様子が変わってきています.

こちらのリンクを見てもらったら分かると思いますが,けっこうリアルに人の顔がCG再現できるようになっているのですが,現在では,こういった「肌の計測技術を医療とか健康支援に使えないだろうか?」というのが新たなテーマとして浮上しています.

まだ計画の段階なのですが,カメラで計測した画像から肌に含まれる様々な物質の情報,たとえばヘモグロビンとかメラニン等が推定できれば,その情報をもとにその人の健康状態まで調べられるのではないかということです.

そうすると今まで開発してきた技術の応用先が広がっていくのではないかと考えています.


今回の記事が面白いと思った方は以下のボタンをクリックして下さい.

 人気ブログランキングへ にほんブログ村 大学生日記ブログ ゼミ・サークルへ



1  2  3  4  5  6  7  8  9

このアーカイブについて

このページには、過去に書かれたブログ記事のうち研究カテゴリに属しているものが含まれています。

前のカテゴリは本日の田中ゼミ研究室の様子です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

長野大学公式サイトへ