2008-09-17 7 views
3

小さいメモリフットプリントでバックグラウンドで動作し続ける素敵な見た目のウィジェットを作成したいのであれば、どこでWindowsアプリケーションを構築するのですか?目標は、更新されたアイテムのリストをWebサービスから守ることです。 RSSリーダーと同様です。デスクトップウィジェット(小さなフットプリントと美しいグラフィックス)に最適なのは何ですか?

ノート:データ層は、私はあまりにも多くのフットプリントに影響を与えないだろうと仮定していること、私はすでにC#のDLLを持っている、RESTを経由して接続されます。

明らかに私は素敵なWPFプロジェクトを使いたいですが、〜60,000kの初期サイズは大きすぎます。

* C#のフォームアプリケーションはおよそ〜20,000k

* 5

の下で、はるかに小さいC++フォーム〜16,000k

* CLRまたはMFCはWPFをダウンストリップする方法はありますされますか、フォーム? CLRやMFCを使用している場合は、それをきれいにする最も簡単な方法があります。 (私のMFCでの経験は非常に賞のフォームを作っています)

更新:明確化上記のサイズは、プロセスが実行されるために使用されるメモリであり、実行可能ファイルではありません。

+1

「非常に賞状」または「非常に厄介な書式」? – tzot

+0

この投稿のタグを変更できますか? 「WPF」にはタイプミスがあります(「WFP」として表示されます) – YeahStu

答えて

2

RE:

更新:上記のサイズを明確化、 は、プロセスが実行されるように使用されるメモリではなく、実行可能です。

小さなC#Winフォームアプリケーションを実行すると、予約されている最小量のRAMは約2メガ、おそらく4メガです。これは作成する作業セットです。このメモリのすべてを積極的に使用しているわけではありません。あまりにも多くのスペースを確保しておくので、後で必要に応じて後で多くのメモリを必要とすることはありません。

より小さいサイズの先頭を予約することは、誤った最適化の可能性があります。

(それは本当に重要場合は、作業のPInvoke呼び出しで設定を減らすことができます。pinvoke for 'set process working set size'を参照)

0

"既にC#dllを持っています"を使用する場合は、.netがターゲットマシンに既にインストールされている必要があります。

この場合、C#winフォームアプリは20メガ付近にある必要はありません。最小のhello world type winフォームは7キロバイトになります。

0

実際にできるだけ小さくする必要がある場合は、プレーンCを使用してWindows APIに直接話してください。

あなたはCLRのための.NETのDLLとにかくロード必要があるとしているので、私は苦痛が少ないものを選ぶだろうと単純にもUIのためのC#を使用します。

0

Silverlightを使用しないのはなぜ?ここには、ちょうどそれについて話しているarticleがあります。

関連する問題