2011-09-17 11 views
0

私のアプリケーションは大量の画像で動作し、それぞれについて計算された情報をいくつか保存する必要があります。頻繁に私の計算のためのイメージのサイズを取得する必要があります(元のイメージを読み込む必要はありません)。 何が良いですか:必要なビットマップを読み込んでそのサイズを取得するたびに、または最初にサイズを取得してSizeオブジェクトに格納するたびに、C#、別途ビットマップサイズを保存する必要がありますか?

答えて

1

あなたは自分で「元のイメージを読み込む必要はありません」と言ったので、ビットマップのコンパイル情報を得て保存してください。 DBを使用する場合、例えば、あなたの情報とビットマップへのパスを格納することができます。あなたが本当に必要な場合にのみ大きな画像を読み込みます。

+0

「時々」それらをロードする必要があります。私はDBを使用していない、私はすべての私の情報をリストに格納する。メモリにすべてのイメージのサイズを格納するのが効率的でしょうか?サイズをロード/取得できますか、ビットマップを廃棄できますか? 500枚近くの画像があります。 – ieaglle

+0

どのように効率的ですか?ランタイム - それは非効率です。メモリ - はい、ロード/廃棄する方が効率的です。しかし、通常のメモリはCPU時間よりも安いので、私はこれに助言しません。ホール写真を読み込むのに多くの時間を費やすことになります。これを非常に頻繁に行うと、GCもかなり忙しくなります。 - そして、必要なときにすぐにロードすることができます。 500倍の情報を保存するための情報+計算された情報はほとんどありません。もちろん、どのような方法でもこのデータを保持しない場合は、各ビットマップの開始時にこのデータを保存する必要があります。この場合、遅延読み込み手法を使用します。 – Carsten

+0

あなたの答えをありがとう。確信している。私はビットマップのサイズを別に保存し続けると思います。どうもありがとう! – ieaglle

関連する問題