GeForce2GTSをソフトウェアでQuadro2Pro化?

 GeForce系のカードの一部では基板上の抵抗を移動させることによってワークステーション用のグラフィックカードQuadroに見せかけることができるが、今回は抵抗移動をしないでソフトウェアで設定を変更すればQuadroと認識させられる?ソフトを使用していろいろなベンチマークを用いて違いを調べてみることにした。
 このソフトというのは、NVWORLDで配布されている、「SoftQuadro」というソフトで、GeForce256、GeForce2MX、GeForce2GTSをそれぞれQuadro、Quadro2MXR、Quadro2Proとして認識させることができるソフトであり、Win9xとWin2Kで使用できる(なぜか私の環境では、W9xではこのソフトで変更させてもOSとしてQuadroとして認識させることができなかった。また、一部のverのドライバーだけ利用できるので注意。)また、ドライバーの選択を強制的にQuadro2Proを選択しないと私の環境では認識できなかった。
 うまくQuadroとして認識させることができると、画面のプロパティのOpenGLの項目にプロ用ソフト用の設定をするための機能が追加されているはずです。以下のような表示がされるはずです。


 なお、このソフトの使用は自己責任でお願いします

 テストに用いた環境は、

 CPU : Pentium4 1.7Ghz 、 メインメモリー : RDRAM 256MB 、 VGA : Creative 3D BLASTER GeForce2GTS 32MB 、
 M/B : ASUS P4T(Intel i850) 、 HDD : Quantum Fireball lct15 、 OS : Windows2000 + SP2 + DirectX8.0a
 なお、ドライバーは12.40を使用。 

(1) 3DMARK2000 ver1.1

 Direct3Dでの違いを調べるためにこのソフトを用いた。

  1. 1024*768 16bit HW T&L

                           GTS         softQuadro2Pro

3DMark Result 7226 3D marks 7280 3D marks 
CPU Speed 532 CPU 3D marks 531 CPU 3D marks
Game 1 - Helicopter - Low Detail 139.5 FPS 147.5 FPS
Game 1 - Helicopter - Medium Detail 99.6 FPS 107.9 FPS
Game 1 - Helicopter - High Detail 55.1 FPS 55.0 FPS
Game 2 - Adventure - Low Detail 158.2 FPS 158.4 FPS
Game 2 - Adventure - Medium Detail 93.1 FPS 82.2 FPS
Game 2 - Adventure - High Detail 56.7 FPS 55.6 FPS
Fill Rate (Single-Texturing) 569.7 MTexels/s 569.7 MTexels/s
Fill Rate (Multi-Texturing) 1170.9 MTexels/s 1170.7 MTexels/s
High Polygon Count (1 Light) 18397 KTriangles/s 18505 KTriangles/s
High Polygon Count (4 Lights) 10227 KTriangles/s 10226 KTriangles/s
High Polygon Count (8 Lights) 7251 KTriangles/s 5610 KTriangles/s
8MB Texture Rendering Speed 426.5 FPS 323.3 FPS
16MB Texture Rendering Speed 319.0 FPS 234.2 FPS
32MB Texture Rendering Speed 185.6 FPS 154.2 FPS
64MB Texture Rendering Speed n/a n/a
Bump Mapping (Emboss, 3-pass) 217.8 FPS 217.1 FPS
Bump Mapping (Emboss, 2-pass) 257.6 FPS 256.5 FPS
Bump Mapping (Emboss, 1-pass) 318.4 FPS 314.4 FPS
Bump Mapping (Environment) Not Supported Not Supported

  2. 1024*768 32bit HW T&L

                           GTS         softQuadro2Pro
3DMark Result 5262 3D marks 5250 3D marks 
CPU Speed n/a n/a
Game 1 - Helicopter - Low Detail 101.4 FPS 101.2 FPS
Game 1 - Helicopter - Medium Detail 73.5 FPS 73.4 FPS
Game 1 - Helicopter - High Detail 35.6 FPS 35.5 FPS
Game 2 - Adventure - Low Detail 103.4 FPS 103.3 FPS
Game 2 - Adventure - Medium Detail 74.7 FPS 74.4 FPS
Game 2 - Adventure - High Detail 49.9 FPS 49.6 FPS
Fill Rate (Single-Texturing) 247.4 MTexels/s 247.4 MTexels/s
Fill Rate (Multi-Texturing) 526.5 MTexels/s 526.6 MTexels/s
High Polygon Count (1 Light) 14643 KTriangles/s 14580 KTriangles/s
High Polygon Count (4 Lights) 9147 KTriangles/s 9146 KTriangles/s
High Polygon Count (8 Lights) 5348 KTriangles/s 5348 KTriangles/s
8MB Texture Rendering Speed 231.8 FPS 231.7 FPS
16MB Texture Rendering Speed 223.3 FPS 223.2 FPS
32MB Texture Rendering Speed 204.1 FPS 203.2 FPS
64MB Texture Rendering Speed n/a n/a
Bump Mapping (Emboss, 3-pass) 115.1 FPS 115.1 FPS
Bump Mapping (Emboss, 2-pass) 151.5 FPS 151.5 FPS
Bump Mapping (Emboss, 1-pass) 252.7 FPS 252.7 FPS
Bump Mapping (Environment) Not Supported Not Supported

 16bit時のTexture Rendering SpeedがsoftQuadro2Proだと妙に低くなっているが、何かメモリーの使い方が違うのだろうか?
 他の項目はそう差がない。

 (2) OepnGL Benchmark ver1.6.2

 OpenGLの性能を見るテストである。

          GTS                   SoftQuadro2Pro

Vendor : NVIDIA Corporation
Renderer : GeForce2 GTS/AGP/SSE2
Version : 1.2.2
Extensions : GL_ARB_imaging
GL_ARB_multitexture
GL_ARB_texture_compression
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3
GL_ARB_transpose_matrix
GL_S3_s3tc
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_compiled_vertex_array
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_packed_pixels
GL_EXT_paletted_texture
GL_EXT_point_parameters
GL_EXT_rescale_normal
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_shared_texture_palette
GL_EXT_stencil_wrap
GL_EXT_texture_compression_s3tc
GL_EXT_texture_edge_clamp
GL_EXT_texture_env_add
GL_EXT_texture_env_combine
GL_EXT_texture_env_dot3
GL_EXT_texture_cube_map
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_lod
GL_EXT_texture_lod_bias
GL_EXT_texture_object
GL_EXT_vertex_array
GL_EXT_vertex_weighting
GL_IBM_texture_mirrored_repeat
GL_KTX_buffer_region
GL_NV_blend_square
GL_NV_evaluators
GL_NV_fence
GL_NV_fog_distance
GL_NV_light_max_exponent
GL_NV_packed_depth_stencil
GL_NV_register_combiners
GL_NV_texgen_emboss
GL_NV_texgen_reflection
GL_NV_texture_env_combine4
GL_NV_texture_rectangle
GL_NV_vertex_array_range
GL_NV_vertex_array_range2
GL_NV_vertex_program
GL_SGIS_generate_mipmap
GL_SGIS_multitexture
GL_SGIS_texture_lod
GL_WIN_swap_hint
WGL_EXT_swap_control

# 3D testing environment (double buffer)
RED Bits : 8
GREEN Bits : 8
BLUE Bits : 8
DEPTH Bits : 24
STENCIL Bits : 8
ACCUM_RED Bits : 16
ACCUM_GREEN Bits : 16
ACCUM_BLUE Bits : 16
ACCUM_ALPHA Bits : 16

# 2D testing environment (single buffer)
RED Bits : 8
GREEN Bits : 8
BLUE Bits : 8

# result : 100.0 or higher is best

3D swap_buffer : 218.312324

3D lines : 143.061289
3D lines fog : 141.722737
3D lines smooth : 141.060152
3D points : 282.735939
3D points fog : 282.398590
3D wire : 63.815422
3D wire fog : 50.126062

3D polygon color smooth : 282.693924
3D polygon color : 282.218546
3D polygon color fog : 282.435000
3D vertex color : 282.978814
3D vertex color fog : 282.596621
3D stencil buffer : 282.952197
3D accumlation buffer : 13.967177
3D blur : 7.534806
3D flat shading : 283.082782
3D smooth shading : 283.523710
3D spot light : 282.226046
3D T-Map GL_CLAMP fast : 282.969462
3D T-Map GL_CLAMP real : 282.340028
3D T-Map GL_REPEAT fast : 282.407624
3D T-Map GL_REPEAT real : 282.826549

2D put GL_COPY half tone : 17.729530
2D put GL_COPY : 409.830528
2D put GL_COPY_INVERTED : 411.576034
2D put GL_AND_REVERSE : 410.604708
2D put GL_OR_REVERSE : 409.980314
2D put GL_AND : 409.935235
2D put GL_OR : 415.923155
2D put GL_NAND : 416.089725
2D put GL_NOR : 409.885164
2D put GL_XOR : 409.777318
2D put GL_EQUIV : 409.915121
2D put GL_AND_INVERTED : 415.847033
2D put GL_OR_INVERTED : 410.014265
2D copy GL_COPY : 20917.680000
2D copy GL_COPY_INVERTED : 1.#INF00
2D copy GL_AND_REVERSE : 1498.186525
2D copy GL_OR_REVERSE : 1175.193889
2D copy GL_AND : 1174.372222
2D copy GL_OR : 1244.244706
2D copy GL_NAND : 1236.515205
2D copy GL_NOR : 1320.497500
2D copy GL_XOR : 1321.590000
2D copy GL_EQUIV : 1243.600588
2D copy GL_AND_INVERTED : 1313.758385
2D copy GL_OR_INVERTED : 1243.763529
2D scaling : 2705.213600

# 3D average without swap_buffer
3D total : 218.257885
2D total : 1.#INF00
Vendor : NVIDIA Corporation
Renderer : Quadro2 Pro/AGP/SSE2
Version : 1.2.2
Extensions : GL_ARB_imaging
GL_ARB_multitexture
GL_ARB_texture_compression
GL_ARB_texture_cube_map
GL_ARB_texture_env_add
GL_ARB_texture_env_combine
GL_ARB_texture_env_dot3
GL_ARB_transpose_matrix
GL_S3_s3tc
GL_EXT_abgr
GL_EXT_bgra
GL_EXT_blend_color
GL_EXT_blend_minmax
GL_EXT_blend_subtract
GL_EXT_compiled_vertex_array
GL_EXT_draw_range_elements
GL_EXT_fog_coord
GL_EXT_packed_pixels
GL_EXT_paletted_texture
GL_EXT_point_parameters
GL_EXT_rescale_normal
GL_EXT_secondary_color
GL_EXT_separate_specular_color
GL_EXT_shared_texture_palette
GL_EXT_stencil_wrap
GL_EXT_texture_compression_s3tc
GL_EXT_texture_edge_clamp
GL_EXT_texture_env_add
GL_EXT_texture_env_combine
GL_EXT_texture_env_dot3
GL_EXT_texture_cube_map
GL_EXT_texture_filter_anisotropic
GL_EXT_texture_lod
GL_EXT_texture_lod_bias
GL_EXT_texture_object
GL_EXT_vertex_array
GL_EXT_vertex_weighting
GL_IBM_texture_mirrored_repeat
GL_KTX_buffer_region
GL_NV_blend_square
GL_NV_evaluators
GL_NV_fence
GL_NV_fog_distance
GL_NV_light_max_exponent
GL_NV_packed_depth_stencil
GL_NV_register_combiners
GL_NV_texgen_emboss
GL_NV_texgen_reflection
GL_NV_texture_env_combine4
GL_NV_texture_rectangle
GL_NV_vertex_array_range
GL_NV_vertex_array_range2
GL_NV_vertex_program
GL_SGIS_generate_mipmap
GL_SGIS_multitexture
GL_SGIS_texture_lod
GL_WIN_swap_hint
WGL_EXT_swap_control
GL_Autodesk_valid_back_buffer_hint

# 3D testing environment (double buffer)
RED Bits : 8
GREEN Bits : 8
BLUE Bits : 8
DEPTH Bits : 24
STENCIL Bits : 8
ACCUM_RED Bits : 16
ACCUM_GREEN Bits : 16
ACCUM_BLUE Bits : 16
ACCUM_ALPHA Bits : 16

# 2D testing environment (single buffer)
RED Bits : 8
GREEN Bits : 8
BLUE Bits : 8

# result : 100.0 or higher is best

3D swap_buffer : 281.384023

3D lines : 143.061289
3D lines fog : 141.662532
3D lines smooth : 141.719592
3D points : 282.735939
3D points fog : 282.159006
3D wire : 282.501231
3D wire fog : 282.467190

3D polygon color smooth : 282.214253
3D polygon color : 282.218546
3D polygon color fog : 282.435000
3D vertex color : 282.978814
3D vertex color fog : 282.356868
3D stencil buffer : 282.952197
3D accumlation buffer : 13.958043
3D blur : 7.533004
3D flat shading : 283.082782
3D smooth shading : 283.523710
3D spot light : 282.226046
3D T-Map GL_CLAMP fast : 282.969462
3D T-Map GL_CLAMP real : 282.340028
3D T-Map GL_REPEAT fast : 282.407624
3D T-Map GL_REPEAT real : 282.826549

2D put GL_COPY half tone : 17.625976
2D put GL_COPY : 409.830528
2D put GL_COPY_INVERTED : 417.532272
2D put GL_AND_REVERSE : 416.546889
2D put GL_OR_REVERSE : 409.980314
2D put GL_AND : 409.935235
2D put GL_OR : 409.989872
2D put GL_NAND : 410.154066
2D put GL_NOR : 415.816932
2D put GL_XOR : 415.707525
2D put GL_EQUIV : 409.915121
2D put GL_AND_INVERTED : 409.914836
2D put GL_OR_INVERTED : 410.014265
2D copy GL_COPY : 20917.680000
2D copy GL_COPY_INVERTED : 21144.190000
2D copy GL_AND_REVERSE : 1508.887857
2D copy GL_OR_REVERSE : 1175.193889
2D copy GL_AND : 1167.883978
2D copy GL_OR : 1244.244706
2D copy GL_NAND : 1321.525625
2D copy GL_NOR : 1320.497500
2D copy GL_XOR : 1313.381366
2D copy GL_EQUIV : 1321.325625
2D copy GL_AND_INVERTED : 1321.969375
2D copy GL_OR_INVERTED : 1321.498750
2D scaling : 2718.138653

# 3D average without swap_buffer
3D total : 238.742259
2D total : 2413.822352

  一部測定ミスがありますが(^^;)特に特徴的な項目は赤色で示してある。
全体を見ると、ところどころでsoftQuadro2Pro化してあるのがGTSより結果がいい箇所もある。
Quadro2Pro化すると、一つサポートしているExtensionsが増えていることが分かる。これが性能差を生みだしているのか?
また、GTSでは妙にワイヤーフレーム表示のテストがsoftQuadro2Pro化のよりも遅い。

 (3) SPECview 6.1.2

 このベンチソフトはプロ用のグラフィックカードのOpenGLの性能比較のために広く用いられているものである。
なお、公平な結果を出すため、垂直同期はoffにしてあることに注意してください。

               GTS                       softQuador2Pro

---------- SUM_RESULTS\AWADVS\SUMMARY.TXT
AWadvs-04 Weighted Geometric Mean = 26.05

---------- SUM_RESULTS\DRV\SUMMARY.TXT
DRV-07 Weighted Geometric Mean = 15.50

---------- SUM_RESULTS\DX\SUMMARY.TXT
DX-06 Weighted Geometric Mean = 25.67

---------- SUM_RESULTS\LIGHT\SUMMARY.TXT
Light-04 Weighted Geometric Mean = 4.316

---------- SUM_RESULTS\MEDMCAD\SUMMARY.TXT
MedMCAD-01 Weighted Geometric Mean = 12.77

---------- SUM_RESULTS\PROCDRS\SUMMARY.TXT
ProCDRS-03 Weighted Geometric Mean = 14.93
---------- SUM_RESULTS\AWADVS\SUMMARY.TXT
AWadvs-04 Weighted Geometric Mean = 78.52

---------- SUM_RESULTS\DRV\SUMMARY.TXT
DRV-07 Weighted Geometric Mean = 19.03

---------- SUM_RESULTS\DX\SUMMARY.TXT
DX-06 Weighted Geometric Mean = 35.78

---------- SUM_RESULTS\LIGHT\SUMMARY.TXT
Light-04 Weighted Geometric Mean = 9.956

---------- SUM_RESULTS\MEDMCAD\SUMMARY.TXT
MedMCAD-01 Weighted Geometric Mean = 27.55

---------- SUM_RESULTS\PROCDRS\SUMMARY.TXT
ProCDRS-03 Weighted Geometric Mean = 26.03

 softQuadro2Pro化すると結果もGTSのときより大幅に上昇しています。体感速度も全く違ったものになります。
特に、ワイヤーフレーム表示しているテストでは、GTSではかくかくなのですがsoftQuador2Proだとスムーズに描画されます。
ただ、こういうプロの世界では速いだけではだめで、より正確な描画が求められますが、softQuadro2ProのほうがGTSよりもちょっとだけ表示品質が上がっているような気が・・・(ぉ

 (4) Quake3 Arena (1.16n) DEMO 001

 ゲームで使われるOpenGLとCGソフトで使われるOpenGLとは違うものか確かめるためにOpenGLを用いたゲームで比較をしてみた。
なお、結果の左側がGTS、右側がsoftQuadro2Proである。

640*480 16bit 184.5fps 178.8fps
640*480 32bit 174.6fps 161.6fps
800*600 16bit 174.4fps 166.6fps
800*600 32bit 139.5fps 123.3fps
1024*768 16bit 135.3fps 126.3fps
1024*768 32bit 91.7fps 79.4fps
1280*1024 16bit 88.3fps 81.5fps
1280*1024 32bit 53.0fps 44.5fps
1600*1200 16bit 59.6fps 54.0fps
1600*1200 32bit 35.3fps 29.5fps

 softQuadro2ProのほうがGTSよりも1〜2割ほど遅いことが分かる。

 *まとめ*

 ドライバーが違うだけでこんなに結果に差がでるとは・・・GTSだとドライバーで何かしらの機能を殺している(特にあやしいのがワイヤーフレーム表示関係)としか思えません。ワイヤーフレーム表示はよくプロ用のソフトで使われるので、もともとGeForce2GTSがワイヤーフレーム表示が速いチップなのにそれを殺して遅くし、逆にプロ用のQuadro2Proではその機能を発揮させて売り込みたいとnVIDIAは考えていたのでしょう。ずるいですな(w
 以前CreativeのGTS(Ultraだったっけな?忘れたw)にQuadro2チップが載っていたということがありましたから、私の予想ではほとんど中身は同じでドライバーが違うだけのものでしょう。
 Quador2Proは非常に高価(Gloria3が12万前後で売られている)なのでこれを買って実際に比較してみることは貧乏人(^^;;;)の管理人ですからできないのが残念ですが、一度やってみたいです(ぉ