PC-9800でぬるぬる動かすのって、行けるの?
またもや16bitセンセーションのお話
メインSEの守くんが、PC-9800を並列処理させて描画ソフトを自作してきやがりました!
アニメならではの演出ということで、いいんだけど、んな無茶なと笑ってしまったのでネタにします。
そもそもの話、
当時のディスプレイであんな抜けを出したり、細かなドットの表現は困難であるという描画関連の問題 や
ペンタブで書くにしても、センサーはそれほど完成してないし、接続端子を繋げても使えるようなものじゃない
という問題が発生しているわけで、今回の最新話「Layer7 雨降って地固まる」は非常に突拍子のないものとなっているわけです。今までの頑張れば出来る!が引き継がれないのは残念です……
さて、守くんが出してきた16bitPCの並列処理による描画ソフト
実際に8個(オクタコア=8コア)のPC-98でスペックは追いつくのでしょうか?
答えはNoです。
というか、単位が一桁違います。
PC-9801のRAMは最大でも640KB、RAMなので純粋に増やしたとしても5MBです。後期版ではかの有名なPentiumが搭載されていますが、それでも32M、8掛けして、256MB。Windows11の最低スペックってご存じですか?RAMは4GB以上です。40倍は必要というわけです。ただし、Pentium搭載版だと32bitになるようなので、とりあえずCPUは8086固定とします。
PC-9801は16bitパソコンです。この16bitというのは、一度に扱える桁数を表しているわけですが、現在の主流は64bitです。一昔前のXPですら32bitです。1980年代前半には32bitのCPUが出ていたそうですが、当時の主流は8bitで16bitですら8000番台から搭載されたもので、同じ計算はできません。
ぬるぬる動かすのに必要なものと言えば、オーバークロックをやっている人はピンとくると思います。そう、動作周波数、CPUクロックです。上げれば上げるほど、処理が早くなるCPUクロックですが、Windows11の要件では1GHz以上。9801VMの動作周波数は10MHz。100倍は欲しいですね。XPでもクロック周波数300MHz以上と、30倍は必要です。
周波数やbit数は内部のチップに依存するため、替えが効きません。
つまり、UIをぬるぬる使うようなソフトは、ほぼ不可能ということです。
ちなみに、本格的に計算をして、可能かどうか確かめてみましょう。
基本的にレイヤ―を毎回ROMに保存するのは効率が悪いので、RAMに仕事をしてもらう前提で、多色で200レイヤーを使う場合、描画だけでどれくらいのRAMが必要なのでしょうか?
FullHDではかわいそうなので、SD画質(720×480)で計算してあげましょう。
1pixあたり、3色+透明度が必要ですね。度々お世話になる#FFFFFFFFです。これだけで32bit使っています。16bitでは、そもそも読み込みができませんね。
ということで、1pixあたりの数値を255から15まで落とし、透明度も16段階にしましょう。
#FFFF
おめでとうございます。16bitで描画できました。
RAMの計算を行っているので、1pixにつき16bitをそのままに、SD画質で追加してみましょう。
ピクセル数は720×480なので、345,600ピクセル
画像容量としては、691,200B(ビットじゃないよ、バイトだよ)
つまり、0.6MBです。少ないと思いましまた?実際、少ないです。
無圧縮で描画だけは出来ました。(まあ、当時と同じくらいだしできるわな)
ちなみに、FullHDではどうなるかというと、ビット深度(1pixあたりの数値)が2倍、画素数がこの4倍なので4.8MBです。動画やjpegであれば、十分に圧縮されるので実際の画像ファイルはもっと軽いですが、おおよそこんなもんです。描画だけでフルスペック使うので、ソフトなんて使ってる余裕がありません。
で、ここからが本題
コノハちゃんが、レイヤー数何枚使うと言ったか、覚えていますか?
そう、200枚です。
0.6MB(無圧縮)の200倍となると、120MB、絶対に無理です。Pentiumを使えば256MB使えるということで、不可能ではないかもしれませんが、当時の新品売値が40万以上することを考えると、複数台そろえるのは無理でしょう。
ちなみに、ビット深度16bitの透明度ありでAIに書かせたところ、こんな感じになるっぽいです。
かわいいですね。なんとかなりそうな感じします。
ただ、画素数が1k×1kなので、もっと荒くなります。
つまり、やってやれないこともないが、非常にめんどくさい
というわけです。
さらに言うと、当時のROMは1GやHDDでも10GB未満であり、配布量を考えると大きなことはできません。
結論として、本当に作っても、未来の端末なら、十分に動作するかもしれない。程度になるというわけですね。