「UNiGiNE Heaven Pro」の最新版と「UNiGiNE Valley」が新たに登場
UNiGiNE Heaven Pro Version 4.0
UNiGiNE Valley 1.0
Unigine Corp.
http://unigine.com/
お次はHeavenであるが、実はテストを開始するときに「ぼちぼちHeavenの4.0を用意している」という話がUNiGiNEのサイトに掲載されていた。そのときは「んじゃ次は4.0だな」と思ったのだが、まさかテスト途中にバージョンアップされ、おまけに新しいValleyまで公開されるとは夢にも思わなかった。
ということで、2月12日にHeaven 4.0が、2月14日にはValley 1.0がそれぞれ公開された。このバージョンアップであるが、今回から従来のFree EditionとPro Editionに加えてAdvanced Editionが追加された。
このAdvanced EditionではコマンドラインオプションとCSVフォーマットの出力が追加され、大変に便利になった(ちなみに筆者は4.0が出る「前に」コマンドラインオプションを使いたくて、泣く泣く$495を払って3.0を購入したら、流石に無料で4.0のPro Editionにバージョンアップしてもらえた)。
さてそれぞれについて簡単に。まずHeavenであるが、基本的にはUNiGiNE Engineのバージョンアップであり、シナリオなどは殆ど変わっていない。ただし細かい違いは幾つかあって、例えば3.0だと最大でも1920×1200pixelまでだったのが(Photo48)、4.0では最大2560×1600pixelまで指定可能になっている(Photo49)。
Photo48:実は裏技として「System Resolution」を選ぶことでこれを超える解像度の指定も可能になっている。またPro Editionは最大2560×1600pixelまでコマンドライン経由での指定が可能だった。どうもこの改変が"R2"らしい。 |
Photo49:FPU表示以外にGPU Monitorなる項目も追加された。 |
またQualityの指定が新たに追加になるなど使いやすくなっている。ベンチマーク画面そのものは従来と殆ど同じ(Heaven.flv)だが表示される項目が増えた(Photo50)ほか、3.0までは変だった太陽の表示(Photo51)が正常化されるなど、大分進化している。
動画 |
---|
Heaven 4.0のベンチマーク画面 |
Photo51:こちらはHeaven 3.0のもの。この太陽の描画の変さは結構有名だった。 |
Photo52:遥かにまともに。DoFの表示も遥かに進化した気がするが、ちょっとオーバーな位。ただこのあたりはエンジンへのパラメータ次第だから、「やればここまで出来ます」というデモとしてはこのくらいオーバーなのが好ましいのかもしれないが。 |
もっともまだおかしい部分は残ってるが(Photo53)。結果そのものは似たように表示される(Photo54,55)。
一方のValleyは、エンジンは同じで全く異なるシナリオを再生するもので(Photo56)、負荷そのものは大きく変わらないが若干短い時間で計測できる(Valley.flv)。結果の出方などはHeaven 4.0と同じである。
動画 |
---|
Valleyのベンチマーク画面 |
さてそんな訳でまず3.0でやり始めてしまったので、今回はこの3つのベンチマーク全部について結果を確認してみた。テスト方法であるが、
- 解像度は1,280×720 / 1,600×900 / 1,920×1,080 / 2,560×1,440pixelの4つ。
- Heaven 3.0についてはAPI:DX11,Shader:High,Anti-Alias:8x,Anisotropic Filter:16x,Tesselation:Extreme
- Heaven 4.0/ValleyについてはQuality:Ultra,Tesselation:Extreme,Anti Alias:8x
で実施している。ただ実際にはこれをコマンドラインオプションで実施した。この3つのベンチマークはいずれもPythonのスクリプトで動作するため、まずPython 2.7.3をインストールした後で(今のところUNiGiNEはPython 3.3はサポートしていないようだ)、Heaven 3.0用(List 1)、4.0用(List 2)、Valley用(List 3)の各スクリプトを、それぞれのインストールディレクトリの下のautomationフォルダに置き、直接このスクリプトを起動するだけである。結果はCSVフォーマットでそれぞれのユーザーディレクトリ(例えばHeaven 4.0なら"C:\User\ユーザー名\Heaven\reports")に保存される。
List 1
#!/usr/bin/env python
#coding=utf-8
import heaven_pro
# change set of resolutions here!
resolutions = [\
[1280,720],\
[1600,900],\
[1920,1080],\
[2560,1440],\
]
# Specify the number of iterations
iteration_number = 3
for width,height in resolutions:
for i in range(iteration_number):
heaven_pro.run(\
api = 'DX11',\
fullscreen = 1,\
aa = 8,\
af = 16,\
tessellation = 'extreme',\
width = width,\
height = height,\
log = 'all_res_log.csv',\
log_caption = 'FPS,API,Resolution,AA,AF,Tessellation,Video,CPU',\
log_format = '$F,$z,$x,$v,$g,$c'\
)
List 2
#!/usr/bin/env python
#coding=utf-8
import heaven_automation
# change set of resolutions here!
resolutions = [\
[1280,720],\
[1600,900],\
[1920,1080],\
[2560,1440],\
]
iteration_number = 3
for width,height in resolutions:
for i in range(iteration_number):
heaven_automation.run(\
api = 'DX11',\
fullscreen = 1,\
aa = 8,\
width = width,\
height = height,\
quality = 'ultra',\
tessellation = 'extreme',\
log = 'all_res_log.csv',\
log_caption = 'FPS,Resolution,AA,Quality,Tessellation,Video,CPU',\
log_format = '$F,$z,$x,$v,$m,$quality,$tessellation,$g,$c'\
)
List 3
#!/usr/bin/env python
#coding=utf-8
import valley_automation
# change set of resolutions here!
resolutions = [\
[1280,720],\
[1600,900],\
[1920,1080],\
[2560,1440],\
]
iteration_number = 3
for width,height in resolutions:
for i in range(iteration_number):
valley_automation.run(\
api = 'DX11',\
fullscreen = 1,\
aa = 8,\
width = width,\
height = height,\
quality = 'ULTRA',\
log = 'all_res_log.csv',\
log_caption = 'FPS,Resolution,AA,Quality,Video,CPU',\
log_format = '$F,$z,$x,$v,$m,$quality,$g,$c'\
)