- ベストアンサー
すぐに容量オーバーになる
仕事でプレゼン用の資料を作成しています。 とあるサイトからクリップアートを拝借しているのですが、 それを使うと、すぐにリソースオーバー?メモリの容量がオーバーします。 クリップアートのサイズは10kbなのでおもくないとおもうのですが・・。 会社のPCはメモリはメモリは512MBです。 ちなみにクリップアートはjpgではなく、wmfです。 原因はwmfでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
wmfは「この位置に、こういう大きさで、これを書け」みたいな命令コードが書かれたファイルです。 例えば「用紙の10000,10000の位置を中心に、半径10000ピクセルの円を書け」だったら、ものの数バイトで足ります。 ですが、これをフルカラー(32ビットカラー)の画像にラスタライズ(1ピクセル、1ラインづつ画像に展開)すると、最低でも10000(縦)×10000(横)×4(32ビットカラー)バイトで、400MBの画像に膨らみます。 つまり「たった数バイトの命令コードが、400MBの画像に膨らむ」のです。 このように、wmfはモノによっては数億倍のサイズに展開されるので、元が10キロバイトクラスだと、下手すると展開後は1ギガを軽く超えるかも知れません。 なので、下手に数枚貼っただけで仮想メモリを含む全てのリソースを使い切る可能性があります。 直接wmfを張り付けないで、wmfを適当な縦横サイズのjpeg画像やbmp画像に変換してから(つまり、ラスタライズし、解像度を下げ、縦横サイズを小さくしてから)資料に貼り付ければリソース不足は出ません。
その他の回答 (2)
- chie65536
- ベストアンサー率41% (2512/6032)
訂正。 「半径10000」なので「直径」にすると「20000」になります。 誤>ですが、これをフルカラー(32ビットカラー)の画像にラスタライズ(1ピクセル、1ラインづつ画像に展開) 誤>すると、最低でも10000(縦)×10000(横)×4(32ビットカラー)バイトで、400MBの画像に膨らみます。 誤>つまり「たった数バイトの命令コードが、400MBの画像に膨らむ」のです。 正>ですが、これをフルカラー(32ビットカラー)の画像にラスタライズ(1ピクセル、1ラインづつ画像に展開) 正>すると、最低でも20000(縦)×20000(横)×4(32ビットカラー)バイトで、1.6GBの画像に膨らみます。 正>つまり「たった数バイトの命令コードが、1.6GBの画像に膨らむ」のです。
- non001
- ベストアンサー率26% (10/38)
常駐ソフトなどがいっぱいあるとメモリをくいますので遅くなったり固まったりもします。 常駐ソフトを減らすことによって少しは解決もできるかと思いますがあとはメモリ開放ソフト(驚速メモリとか)を使うことによっても解決できます。