2012年5月21日月曜日

10年使える設計

Metasequoiaの開発を始めたのは1998年ですが、その前年の1997年にDirectX 5がリリースされ、またNVIDIAからRIVA128が発売されており、セガサターンやPlayStationなど家庭用ゲーム機に後れを取っていたWindowsの3D性能が飛躍的に上がりました。また、Delphiの技術をベースにC++でのRAD開発に対応した初代C++BuilderがBorlandから発売されたのもこの年です。

当時は学生で割と時間があり、まさに3Dのソフトを作る土壌が整ったわけで、C++Builder + DirectX5を使って1999年にVer1.0をリリースすることができました。

それから13年経ち、今でもC++BuilderとDirectXの組み合わせでMetasequoiaの開発は続いており、その間大きな設計変更を行うこともありませんでした。

学生の頃の設計で10年以上現役でいられたのは運が良かったかもしれません。Windows自体が基礎設計を変えずに互換性を維持してきたことが大きいと思います。しかし、マルチコアCPUやGPU、あるいはiPadなどのタブレット端末の登場など、当時はなかった要素が増えてきた現在において、学生の頃のものだとやはり素人作業というか、これ以上の小手先の改良はそろそろ限界が来ているようです。

Ver3.0でも多少の見直しを行って数倍の高速化を果たしましたが、それでも手軽に扱えるのはせいぜい20~30万ポリゴン程度。100万以上のポリゴンを扱うとなると、基本設計を見直す必要がありそうです。

どうせ再設計するなら今後10年は使えるようなものにしたい。検証はまだこれからですが、最新のPCでGPUを積極活用すればたぶん数百万ポリゴンくらいでも扱えるかなという期待感があります。GPUを活用すれば10年使えるという単純なものでもないですが、先月までは妄想レベルでしかなかったことに今ようやく取り掛かれるようになってちょっと嬉しいのです。もちろんコアの再設計なんて容易なものではなく、これから艱難辛苦が待っているのですが。