見出し画像

(Adobe)flashというかCPUアクセラレーション

flashでなんでこんなに熱くなるんだと。

AMDのK6-2とRiva128で消耗していたからですね。

今はコードがハード上でもソフトウェア変換されて、AMDでもSSE(Pentium3)の回路で処理されますけど、3D NOW!というAMDのSIMD命令(K6-2,K6-3)があって。

Intel環境では、Socket7のAGP×2がありませんが440BXでなく、MVP3(VIAバイアw)のAGP×1でIntel環境と誤認識すると、FINAL RealityがK6-2でも爆速で、そのRiva128はCPUアクセラレーションされてまして。

Pentium3でRiva128を動かすと、古いゲームは爆速です。

カノープスもnVIDIAに買収されて、HDBENCHの特殊ベンチ以外はRiva128が爆速というか。

だから、Riva128環境の想定のゲームは頭の体操にハードウェアを弄る人がたくさん存在しました。


例えばRiva128ZXは4MB→8MB,AGP×1→AGP×2ですが、VRAMが100MHzから増速されてないのでそもそものAGPテクスチャが最初から無意味なのもあり、AGPテクスチャの回避時しか増速(減速回避)しないという。

だから、Riva (128)TNT 16MBはRiva128を2つ載せた回路で、Geforce(256)はVRAMが128bit→256bitの再設計です。

Geforce2mxは単に128bit(or DDR 64bit),(TNT)VANTAは64bit

単にnecのRiva128 2MBはピンが生きてない64bitだからバス幅が半分で、メモリー容量が半分というよりRiva 128 3Dでないという事。

画質の劣るVoodoo2をそのPCIバスに載せて3Dを良くしても切り替え設定とソフト対応が面倒で2Dがアナログの延長由来でぼやける。だからカノープスはVoodoo2を同社Riva TNT(2?)との特殊接続可能なボードにしたが、そんなにまでお金をかけるより、NECはnecのRiva128 2MBのオンボードにiMacのサードパーティ(グリーンハウスだった)の2MBのSG RAMのSO-DIMMを載せるとSD RAMのSO-DIMMと基板が同じかで紛らわしいけど4MBのSGRAMでなく端物の2MBなのに、Riva 128が128bitになってソフトウェアレンダリングで大化けというか。

2MB専用品(NEC)が1マンで、旧メルコ(バッファロー)の互換品が5000円なのにマック専門店の在庫処分が500円だと。

ただし、SDとSGの差はメモリーモジュールの型番を見てSDかSGか分からず、たまたまロット(製造週)違いチップぐらいの危うさであったが。専用品は売ってないかオークションで高い。

だから、flashぐらい3Dアクセラレーション(グラボ)の定義が曖昧だと。ドライバー内で低画質ルーチンを塞いで高画質ルーチンにバイパスするか、flashを2CPU対応まではして、投機実行の2スレッドの終了時間の前後をさせるのとさせない違いまでを内部で許容させるまでしかなくて。

投機実行はするけど、終了待ちは完璧に合わせるとか。flash内の並列コードを食うとか。

大体、単一のCPUコアは3(今は4)スレッド投機実行だから、2コアは許容される(4コアである4スレッドは許容されないが。

だから、flashは今2CPUまで使うし、4コアの4ハイパースレッディング(4HT)でもCPU負荷はマックス50%までいく。ようは8コアCPUでCPU負荷25%だと2/8×100%で詰んでいるになる。

VM Wareも一時期は2GHzの2CPUのWindows XP環境まで非公認の推奨だったし。

今はVMWareのオフィシャルがXPは1CPU推奨だが2GHzデチューンまでやっているか怪しい。

flashはもともとCPU処理させた方が早い場合があって、PCIeのNICよりUSB3.0(USB2.0)のNICが早い気がしてしまう。レイテンシーが全然違ってくる。

という蘊蓄が2016年にはあった。

SNSの立ち位置って微妙ですよね?