この日記はGNSで生成しています。 |
_ はちさんとこから亜蘭さんとこへ行って、さらにその下。「TrueColorなんかいらない」かどうかは疑問です。距離が遠い色のグラデーションと近い色のグラデーションを一緒にしてはいけないはずです。「実写取り込み背景」が15bit幅で済んでも、手書きのグラデーションはそうはいかないことが多々あります。実際、Aliceの24bit→15bitタイリング減色はかなりざらつきを感じますし・・・最初っから彩色を15bitでやればいいんですが、絵師が嫌がると思います・・・。
_ 人間、色の変化には鈍感ですが明るさの変化には非常に敏感です。明るさの変化の表現のためには「24bitでもまだ足りない」という人もいる・・・という話もききますし、PSで15bitしかないことを恨めしく思っている開発者は少なくないはずです。
_ DirectXうんぬんも同様。DirectXを使わないとすれば、WinGのような「自前でオフスクリーンバッファを持って合成してBltする」ことになりますが、これについての速度追求はヘタに手書きするよりDirectXによるハードウェアまたはアルゴリズムによる最適化を期待したほうがいいことも多々あります。
_ 汎用エンジンが重い・・・というよりは、今の構成のPCに「640x480@24bit×数レイヤ合成×数十フレームの転送能力があるかどうか考えてみろ」というべきかと思います。3Dの描画のためにアクセラレータの力を借りるという考えはごく普通に受け入れられてますが、2Dに関してこれらのことが言われる機会ってあまりないような気がします。計算してみてください・・・4レイヤで毎秒20フレーム描くと仮定すれば、640*480*3*4*20=73728000、最大で毎秒70MBもの転送能力が要求されます。しかも書くだけじゃなくて「読んで、合成して、書く」というプロセスをとるため、実際の能力要求値は数倍のオーダーになります。
_ こうなるとやみくもにCPUにオフスクリーンバッファをやらせるのは重荷です。DirectXに処理を丸投げして、ハードウェアにやらせるかソフトレンダラにがんばってもらうかをDirectX側に判断してもらうほうが利口だと思います。
_ 正直、今のPCにおいては「能力差がありすぎる」と思います。能力が足りなくてもヘタに動いてしまうせいで「まだ使えている」とユーザーが思ってしまうのも仕方がないとは思います。「ビジュアルエフェクトさえ切れば速度は足りるから切らせてくれ」と思うユーザーの気持ちもわからなくはないです・・・。でも、いつまでも下を尊重するのも開発側としてはどうかと思いますし、切り捨ててしまうのも必要な割り切りだと思います。
メールはこちらへ...[後藤浩昭 / Hiroaki GOTO / GORRY / gorry@hauN.org]