動画処理を前提に考えた場合、CPUとHDDは大きいほうがいいと言うのは納得いくのですが、メモリが大きいほうがいいと言うのがよく理解できません。
 PEN4 1.7GHz i850チップセットの環境で、RDRAM256Mと512Mと1Gと2GではDV編集をした場合に性能の差はあるのでしょうか?ある場合にはその理由も教えていただけると幸いです。URL、参考になる本などでもありがたいです。PC購入の参考にしたいのでよろしくお願いします。

このQ&Aに関連する最新のQ&A

学習 動画」に関するQ&A: 動画で学習

A 回答 (4件)

Q/RDRAM256Mと512Mと1Gと2GではDV編集をした場合に性能の差はあるのでしょうか?



A/でますね。特にwindows2000やXPなどのNT系カーネルを利用しているPCでは全体的にパフォーマンスが向上します。(許容は4GBまで)

メモリが大きくなるとどうして速度が向上するのかというと、実際には速度上げるわけではなく、作業台の大きさや効率を向上させます。
メモリは主記憶装置といい、補助記憶装置であるハードディスクやFDなどの速度的に極めて低速な媒体とCPUなどのハードウェアとの速度の差を埋める役割をします。
(ハードディスクの速度は最大100MB/s前後、メモリはPC133メモリで1GB/sの転送速度があります、i850では3,2GB/sです)

メモリが増えると、この低速なハードディスクへのアクセスを低減することができます。そのため、実質速度が向上します。特に動画処理や音声処理、重たいゲームソフトウェアなどを扱う場合は、メモリが多いほど体感速度は向上します。

ちなみに、大きなデータを扱うときにメモリに収まりきらないデータはハードディスク上の仮想メモリ(スワップ)に納められます。そのため、ハードディスクにたくさんアクセスするような大きなデータでは本当にCPUの本来の能力も継続的に発揮できなくなることもあります。
(ただ、多ければ良いわけではなく、利用するソフトなどによって搭載量を考えるのが良いです)

いかがでしょう。
もし何かあれば、補足を・・・

この回答への補足

とても分りやすいご回答ありがとうございます。

>多ければ良いわけではなく、利用するソフトなどによって搭載量を考えるのが良いです

とありますが、利用するソフトと言うのは編集ソフトのことでしょうか?DELLのDIMENTION8200を検討しているのですが、MGI VideoWave(3)が付属でついてきます。ビデオコントローラはGeForce Ti200かTi500です。そうすると搭載量はどのくらいが妥当なのでしょうか。私の不甲斐ないお財布様は512Mが妥当だと申しておりますが、パフォーマンス的なベストはどの位でしょうか?i845Dチップセットが出たにもかかわらず、将来RDRAMメモリが安くなったときのことも考えています。OSはXPです。

長くなりましたが宜しくお願いします。

補足日時:2002/01/17 22:54
    • good
    • 0

Q/パフォーマンス的なベストはどの位でしょうか?



A/512MBはあった方が良いですね。(XPの場合は1GBぐらいがいいかも・・・これはお財布次第です)
基本的に、512MBで事足ります。
windows2000では、512MBで十分でしょう。
もしもwindowsMeを使う場合は、512MB以上の増設は厳しいです。(一応1GBまで認識する場合がありますが、メーカー保証は9xでは512MBまで)

XPではよくメモリとCPUを食ってくれますので、多い越したことはないです。ただ、無理にたくさん増設しないように・・・512MB~1GBであなたが搭載できると考える容量で増設しましょう。
    • good
    • 0
この回答へのお礼

補足にまで親切に回答していただきましてありがとうございます。とても分かりやすかったです。

お礼日時:2002/01/18 20:55

はじめまして。


僕はDELLのDIMENTION8200(PEN4 1.7GHz)
ビデオカードはGeForceTi200
メモリーは256Mを使っています。
XPだと処理が重たいような気がします。
(XP自体の問題でしょうが・・・)
快適に使用したいのであれば、やはりメモリーは
多いに越した事はないと思いますよ。
理由はNo.1partsさんの言うとおりで。
僕的には512Mもしくは1Gあれば十分だとは思いますが・・・
あとは財布と相談になりますが・・・
(RIMMは高いですからね~)
多少お金はかかりますが、お金をかけた分の効果は得られると思いますよ。
僕の近々、512Mにしようと思っています。
DV編集はPCIカードの性能に左右されると思うので、メモリーではそんなに違いは出ないかも知れないですね。
あまり参考にならないかもしれないですが・・・
    • good
    • 0
この回答へのお礼

実際に同じ環境のマシンをお使いの方からのアドバイスはとても貴重でありがたいものです。参考にさせて頂きます。

お礼日時:2002/01/18 20:50

 動画処理に特化した物ではなく、全体的な考え方として、ですが・・・。



 勉強部屋に置いてある学習机をイメージして下さい。机の上にはよく使う鉛筆
など筆記用具、辞典、参考書などがあります。引き出しの中には、そんなに頻繁に
使わない小物や大事に取っておきたい物が収められています。

 これをPCの動作に置き換えてみます。物理メモリ=机の上は勉強したり作業をしたり
する直接的な場所です。よく使う筆記用具(プログラム)や参考書(ライブラリ)
を広げておけば効率よい作業が出来ます(=処理が早い)。
HDD=引き出しには、上記の物に比べれば、あまり使わない小物(Wordの文書とか)
大事な思い出の品などが収められています。机の上(=物理メモリ)が物で一杯
になれば、その場しのぎで引き出しにも入れたりしますが、どうしても出し入れに
手間取り効率が落ちてしまいます。効率を上げるためには机の広さを拡張する
(メモリ増設)するしかありません。

 また、引き出しにはいくつかの仕切(ディレクトリ、フォルダなど)を作って、
入れた物を区分けすることが出来ます

 PCの場合、まずOSという超巨大なソフトが常に動いています。その上でさらに
ワープロソフトや動画編集ソフトなどが活動します。その状況で仮にメインメモリ
が128MBしかないとすると、Windows系に限ればそのメモリのほとんどをOS部分に
占有されてしまいアプリケーションが自由に使える容量が極わずかです。
(だから極論、メモリは積めば積むほど・・・という人もいるくらい)
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
128M程度では少なすぎるのですね。

お礼日時:2002/01/17 23:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qメモリに余裕があるのにヒープが確保できないです。

趣味のプログラムなので切実な問題ではないのですが、
1秒間隔に処理を行うプロセスを-Xmx64Mの指定で6つ起動しようとするのですが、
6つ目でヒープが確保できなくて処理が走りません。
スレッドは1プロセスあたり15くらいです。
OSはWindowsXPでCPUはPentium Dual-core E2140で
メモリは2GBつんでいるのですが、
タスクマネージャでみると1GB強しかつかってません。
できれば6つ同時に走らせたいのですが、方法はありますでしょうか?

Aベストアンサー

ヒープエリアはたしか全プロセスで共通に使われるはずです。
-Xmx64M を -Xmx128M 等に変更して動かしてみて下さい。

QPentiumIII1.0GHz/256/133/1.7V/S1 SL4BS SLOT1

sotec M360で1G のCPUは使用できますか
また最高限界はいくつぐらいでしょうか
現在800MHz 256MB RAM にして使用しています

Aベストアンサー

チップセットが440ZXなのでFSB100までのサポートです。
FSB133のPentiumIII 1.0BGHzを定格で動かすことはできません。
動作しても750MHzになります。
PL-iP3/Tという下駄をしようしてCeleron 1.4GHzにするのが最速です。
直接取り付けられるものではFSB100のPentiumIII 1.0GHzですが、流通量が少ないため入手難の上、今のCPUと体感できるような差はないのでやるだけ無駄です。
正直、ここまで古くなったら丸ごと買い換えた方が賢明です。

QC/C++言語のメモリについて

C言語でメモリを2種類?に分けると、スタックとヒープがあります。
ヒープは mallocなどで確保し、freeで解放しますがスタックは解放する必要がありません。
そのスタックは通常、何バイトまで可能なのでしょうか?

あと関数外のファイルの先頭に int[1000000];とした場合、このメモリはmallocで確保していませんが、
どこに作られるのでしょうか?

私のパソコンはメモリが2GBでWindows2000ですが、CやC++で最大、何バイトまでメモリが使えますか?
また、一番多くメモリを確保できるなら、OSはなんでも構いません。

解釈等も間違っていたらご指摘していただきたいです。

Aベストアンサー

マイコン向けのプログラムを書いてます、Interestと申します。

> C言語でメモリを2種類?に分けると、スタックとヒープがあります。

間違いではありませんが、ちょっと足りません。プログラムで使用するメモリはもう少し細かく見ると、次のようになっています。

(P) 実行される命令(ProgramとかCodeと呼ばれます)
(C) 定数など変更されないデータ
(D) 初期化されるデータ
(B) 初期化されないデータ
(H) プログラムから動的に割り当てられるメモリプール(これがヒープです)
(S) ローカル変数、関数の引数、呼び出し元関数へのリンクに使用する比較的短命なものに使用するメモリプール(これがスタックです)

> そのスタックは通常、何バイトまで可能なのでしょうか?

開発環境によって初期値が決まっているようで、どれだけ割り当てるか変更できるようです。OSには依存しません。Visual C++ 6.0の場合、スタックサイズの初期値は1MBだそうです。
参考 http://okwave.jp/qa2645032.html

> あと関数外のファイルの先頭に int[1000000];とした場合、
> このメモリはmallocで確保していませんが、どこに作られる
> のでしょうか?

最初に説明した内容に照らすと、一般に外部変数は0で初期化されますから、(D) 初期化されるデータ の領域に確保されることがわかります。

> 私のパソコンはメモリが2GBでWindows2000ですが

WindowsなどのOSは物理メモリが足りなければハードディスク上の仮想メモリも使用しますので、単純に何バイトまで使えます、とはお答えできません。

> 一番多くメモリを確保できるなら、OSはなんでも構いません。

どのようなプログラムを組もうとしているのですか?

マイコン向けのプログラムを書いてます、Interestと申します。

> C言語でメモリを2種類?に分けると、スタックとヒープがあります。

間違いではありませんが、ちょっと足りません。プログラムで使用するメモリはもう少し細かく見ると、次のようになっています。

(P) 実行される命令(ProgramとかCodeと呼ばれます)
(C) 定数など変更されないデータ
(D) 初期化されるデータ
(B) 初期化されないデータ
(H) プログラムから動的に割り当てられるメモリプール(これがヒープです)
(S) ローカル変数、関...続きを読む

Q①SSD256GB+外付けHDDにするか ②SSD512GBにするかについて。 256GBで足りない

①SSD256GB+外付けHDDにするか
②SSD512GBにするかについて。

256GBで足りないと仮定した場合、どちらを選ぶべきでしょうか?

①から②にするには1万円アップします。
さらに②にすると自動的にCorei7搭載になります。
外付けHDDは500GBで大体5000〜6000円くらいですよね。
CPUはi5でいいかなと考えていたのですが、i7と512GB(i5と256GBも)は今考えているPCではセットだそうです。
1万円で512GBにできてさらにCorei7にもなるのはお得ですよね?

Aベストアンサー

ANo.4 です。

Windows10 だけの場合は、仰る通り 20GB 程度ですね。

私の持っている Atom のノートパソコンなどでは、C:ドライブが eMMC(フラシュメモリのストレージ) で 32GB、容量を必要とするアプリケーションをインストールすると、それだけで一杯になってしまいます(笑)。Windows10 64bit バージョン 1607 のアップグレードで、一杯になってしまったのですが、古いバージョンが削除されたら元に戻りました。現在、50% の消費ですね。おそらく、これは OS のシステムファイルを圧縮して収納している方式になっていると思います。使うアプリケーションは、容量の小さいフリーソフトウェアを活用しています。

アプリケーションは千差万別なので、平均というのは難しいです。インターネットを使ったクラウドベースだと、データと共にパソコン側で消費する容量を節約することができますが、リアルにインストールしなければならないものは、機能に従ってその容量は増減すると思います。

試しに、Microsoft Office のインストール容量を調べてみました。3GB ですね。これは、多い方でしょう。
https://products.office.com/ja-jp/office-system-requirements

インストールする容量が千差万別でも、これが積み重なると、SSD の容量を次々に消費する結果になると思います。増えることはあっても減ることはないのが、問題ですね。あと、Windows Update、各キャシュ、仮想メモリ容量、システムの復元、回復パーティションなどにも消費されます。これらは、メンテナンスと設定次第でそこそこ解消できます。アプリケーションを際限なくインストールする可能性がある場合は、できるだけ容量が大きい SSD が良いでしょう。まあ、その場合は、デスクトップの方が良いのですが .....

ANo.4 です。

Windows10 だけの場合は、仰る通り 20GB 程度ですね。

私の持っている Atom のノートパソコンなどでは、C:ドライブが eMMC(フラシュメモリのストレージ) で 32GB、容量を必要とするアプリケーションをインストールすると、それだけで一杯になってしまいます(笑)。Windows10 64bit バージョン 1607 のアップグレードで、一杯になってしまったのですが、古いバージョンが削除されたら元に戻りました。現在、50% の消費ですね。おそらく、これは OS のシステムファイルを圧縮して収納している方式にな...続きを読む

Qヒープ領域の限界値設定

大量にメモリを消費するアプリケーションを下記環境で動作させようとしています。
WindowsXP SP2, 1GB RAM
タスクマネージャの物理メモリの利用可能 674,500K位
この状態でヒープ領域をレジストリで変更しようと思っているのですが
限界値が不明です。
徐々に3071⇒4096⇒8192と上げていっているのですが、限界値を超してしまうとOS自体が起動できなくなる恐れがあるので怖いです。
アドバイスください。

Aベストアンサー

回答No.1に挙げた「デスクトップ ヒープ」で用いている「ヒープ」という用語は、グラフィックサブシステムで使用するためにWindowsのグラフィックサブシステムがあらかじめ確保して自分自身のために使用するメモリ領域のことを指しています。

また「mallocが使用するヒープ領域」という場合の「ヒープ」という用語は、ライブラリ関数mallocがWindows APIを使用して確保するメモリ領域のことを指しています。

ですので、「デスクトップ ヒープ」と「mallocが使用するヒープ領域」は違うものです。


「mallocが使用するヒープ領域」がどこから来るのかは、コンパイルに使用した言語環境のライブラリ関数mallocの動作内容に依存します。

仮にMicrosoft Visual C++(VC++ Version 6.0以降)を使用してコンパイルし、ライブラリ関数は標準添付のものを使用したとすると、mallocはWindows APIのHeapAllocで取得したメモリ領域をライブラリ内で細分(サブアロケート)して返します。またこの場合、HeapAllocで取得できるメモリ領域の量に固定の上限はなく、PCのメモリ実装量、Windowsのスワップ領域の大きさ、それとアプリケーションプロセスのメモリマップが許す限り、いくらでもHeapAllocはメモリを割り当てて返すことができます。

ですので上記の場合、mallocも同様に「PCのメモリ実装量、Windowsのスワップ領域の大きさ、それとアプリケーションプロセスのメモリマップが許す限りいくらでも」メモリを割り当てて返すことができます。

なお、上記動作はライブラリのソースコードを見て確認したものですので、使用しているコンパイラがVC++ではない、あるいはVC++でもVersion 6.0より古い場合、mallocが「いくらでもメモリを割り当てて返すことができる」かどうかは分かりません。(しかし、返すメモリ領域が「デスクトップ ヒープ」と違うものであることだけは変わりません。)

回答No.1に挙げた「デスクトップ ヒープ」で用いている「ヒープ」という用語は、グラフィックサブシステムで使用するためにWindowsのグラフィックサブシステムがあらかじめ確保して自分自身のために使用するメモリ領域のことを指しています。

また「mallocが使用するヒープ領域」という場合の「ヒープ」という用語は、ライブラリ関数mallocがWindows APIを使用して確保するメモリ領域のことを指しています。

ですので、「デスクトップ ヒープ」と「mallocが使用するヒープ領域」は違うものです。


「mal...続きを読む

QPentium4 1.7GHzから2.4GHzへ乗せ換えた時の効果について知りたいです。

マザーボード MSI 845Pro2
Pentium4 1.7GHzを搭載していますが、
少し余裕ができたので2.4GHzに載せ替えることを検討しています。
主な利用用途はインターネット、メール、画像編集(PhotoShop7.0)
音楽鑑賞、CDバックアップ、DVD鑑賞くらいです。

相場の差額が20000円くらいありますが、
果たして+20000円に見合った性能は期待できるものでしょうか?

よろしくお願いいたします。

Aベストアンサー

周波数が約2倍になれば、体で違いがはっきり分かるというふうに聞きました。
これが正しければ、1.7Gから2.4G、つまり1.4倍にしても
体ではその違いは分からないでしょう。
まあ、PhotoShopを動かしているときは違いが分かると思いますけど・・・
+20000円に見合った性能は期待できないでしょう。
上の用途でしたら、1.7Ghzで十分でしょう。

他の方も書かれていますが、CPUを交換するよりは別のパーツを交換したり
したほうがいいでしょう。
WindowsXPの場合、メモリーを256MBから512MBに増設すれば
ずいぶん動作が速くなるそうですよ。
また、HDDを5400回転のものを搭載しているのであれば、これを
7200回転のものに交換すれば読み取りが早くなるので体感速度が上がります。

Qメモリをたくさん使うテストプログラム

Linuxで、メモリをたくさん使うようなテストプログラムを作りたいのです。
メモリといっても、プログラムコードの入っているテキスト領域、データの入っているデータ領域、ヒープ領域などがあると思いますが、
これらのいずれかのみをたくさん使うようなプログラムを作りたいのです。
例えば、サイズの大きなプログラムであれば、テキスト領域が大きくなったり、
大容量の文字列を扱ったりすると、データ領域が大きくなったりするんでしょうか?
関数とメモリ使用量の関係があまり分かっていません。
どうか教えてください。

Aベストアンサー

#1です。
>テキスト領域を大量に確保するには、無駄に長いプログラムを書けばいいのでしょうか?
はい、その通りです。
>mallocした領域にデータを書き込むと、今度はデータ領域がたくさん使われるのでしょうか?
いいえ、mallocした領域は、ヒープ領域であり、ヒープ領域にデータを書き込んだからといって、データ領域が増える訳ではありません。

コーディングでは、以下のようになります。
-----------------
#include ....ヘッダファイル
char data1[256];  ・・・・データ領域
main()
{
data data2[256];  ・・・・スタック領域
if (・・・){    ・・・・テキスト領域
・・・
}
malloc(3000)    ・・・ヒープ領域へ確保
}

main等の関数の外側で確保した領域は、データ領域に取られます。
main等の関数の内側で確保した領域は、スタック領域に取られます。(static指定を除く)
実際に命令(if文など)は、テキスト領域にとられます。
mallocで確保したメモリはヒープ領域に取られます。
(但し、テキスト領域の言葉は正しいかどうか不明です。参考URLを参照下さい)
ところで、どうして、メモリをたくさん使うようなテストプログラムを作りたいのですか、よかったら教えて下さい。そのほうに興味があります。

参考URL:http://www1.cts.ne.jp/~clab/hsample/Point/Point19.html

#1です。
>テキスト領域を大量に確保するには、無駄に長いプログラムを書けばいいのでしょうか?
はい、その通りです。
>mallocした領域にデータを書き込むと、今度はデータ領域がたくさん使われるのでしょうか?
いいえ、mallocした領域は、ヒープ領域であり、ヒープ領域にデータを書き込んだからといって、データ領域が増える訳ではありません。

コーディングでは、以下のようになります。
-----------------
#include ....ヘッダファイル
char data1[256];  ・・・・データ領域
main()
{
data...続きを読む

QPen3 450MHzとCel 950MHzどっちが

今所持しているPCがGATE WAYのPen3 450MHzなのですが、
今度知り合いから旧IBMのCel 950MHzのPCを貰える事になりました。
他にもHDDの規格等にも影響されるのでしょうが、
単純にCPUで比較した場合どっちが優れているのでしょうか?

このPCでする事は、主にネット、軽いOffice上の作業程度です。
メインのPCは別に購入する予定ですが、
それまでのつなぎに使おうかと思っております。
覚えているスペック
GATE WAY Pentium3 450MHz
HDD:20GB RAM:384MB OS:WIN2000
旧IBM Celeron 950MHz
HDD:20GB RAM:128MB OS:WIN XP
宜しくお願い致します。

Aベストアンサー

#1さんの書かれていることもっともなんですが、メモリに関しては載せ換え可能であれば私はセレロンにします。たぶんどちらもPC100じゃないかという気がしますのでその点確認してみてください。(i810EでPC133が載っていたとしても、PC100も使用可能だったと思います。)

グラフィックについてもいまのPentium機に何が載っているのかわかりませんが、特別速いものであれば別ですが、やはりCPUの動作クロックが倍も違うとそちらの方が総合的には効いてくると思います。

Qjava string 配列の使用メモリ

String[][][] arg = = new String[x][x][x];
でxが638の時にjava.lang.OutOfMemoryErrorになってしまいます。
VM起動時のヒープ最大値は1GBまで試しましたがダメでした。

このときargオブジェクトはどれだけのメモリを必要とするのでしょうか?

Aベストアンサー

このnewで作られるオブジェクトは、配列オブジェクトだけです。Stringオブジェクト自体は作られません。
なので、オブジェクトのサイズとしては、配列オブジェクトのサイズだけを考えればよいことになります。
(ちなみに、メソッド本体はクラスに1つあるだけで、作成したオブジェクトの数だけできるわけではないですから、オブジェクトを作ると、新たにメソッドの分のメモリが必要になるわけではありません)

さて、argオブジェクトのサイズですが、1つのオブジェクトへの参照を保持するのにまず何バイトが必要か考える必要があります。
32bitのJavaだったら、たぶん32bit=4バイトでしょう。
この配列の要素数はx^3個ですので、1つあたりが4バイトとなると、x^3 * 4 バイトのメモリが最低限必要ということになります。
もちろん、他にも多少メモリが必要でしょうが、xが大きいときのことを考えるわけですし、無視しても問題ないでしょう。

x=638の場合を計算してみると、638^3 * 4 = 1038776288 となります。
これは約990MB で、だいたい1GBです。
ヒープの最大値を1GBで試したということですので、計算と合っているのではないでしょうか。

このnewで作られるオブジェクトは、配列オブジェクトだけです。Stringオブジェクト自体は作られません。
なので、オブジェクトのサイズとしては、配列オブジェクトのサイズだけを考えればよいことになります。
(ちなみに、メソッド本体はクラスに1つあるだけで、作成したオブジェクトの数だけできるわけではないですから、オブジェクトを作ると、新たにメソッドの分のメモリが必要になるわけではありません)

さて、argオブジェクトのサイズですが、1つのオブジェクトへの参照を保持するのにまず何バイト...続きを読む

QPen4 1.7GHzをPEN4 2.5GHzにしたい。

機種はDELLのGX240です。
ソケット478のCPU Pen4 2.53G (外部周波数=512/533)があるのですが、GX240に対応していますでしょうか?
このままCPUを換装して使えますか?
BIOSなどを変更しなければ使えませんか?
回答お待ちしております。

Aベストアンサー

ステッピングが気になりますがおそらくFSB400で起動するでしょう
おおよそ1.9Ghzでしょうか
2.50Ghz版か2.60Ghz版が良いと思います。


人気Q&Aランキング