環境
- Windows XP SP3 x32
- Visual Studio 2005 Standard Edition
- Honeywell Dolphin 9500 Pocket PC / WindowsMobile2003プラットフォーム
- .NETFramework1.1および.NETCompactFramework 1.0 SP3
- VC#の使用
問題
内蔵カメラとHoneywellSDKImageControlからデバイスのストレージカードまたは内部メモリに画像を保存すると、6〜7秒かかります。
現在、画像をPNGとして保存していますが、BMPまたはJPGのオプションもあります。
コード内の関連行:144-184と222、具体的には162,163と222。
ゴール
その時間を2〜3秒程度に短縮し、可能であればさらに短縮したいと思います。
二次的な目標として、 .NETCompactFrameworkバージョン1.0を特にサポートするPocketPC2003デバイス用のプロファイリングスイートを探しています。理想的には無料ですが、自由な短いチュートリアルでも機能します。
私が試したこと
- System.Threadingを介して非同期I/Oを少し調べましたが、これが良いアイデアであるかどうか、また単一の操作にスレッドを実装する方法を正確に知る経験がありません。
- 以下のコードのようにスレッド化を実装すると、おそらく1秒以下のわずかな速度の増加があるようです。ただし、次のフォームの何かには、おそらく保存の過程で画像が必要であり、待機を軽減する方法やそのシナリオを処理する方法はまったくわかりません。
- 編集:スレッドを使用して保存形式をPNGからBMPまたはJPGに変更すると、保存時間が大幅に短縮されるようです。。
コード
http://friendpaste.com/3J1d5acHO3lTlDNTz7LQzB
コードをここにコードタグで投稿する必要があるかどうかを教えてください。少し長い(〜226行)ので、前回の投稿では許容できるように思えたので、先に進んでフレンドペーストしました。