毎度お世話になります、yiwata8004です。
御拝読ありがとうございます。
Kinect v2のRGBデータ取得イベント(30fps)にてKinectから取得した各種データを
バイナリ形式で追記保存(※)を行っています。
BoneやDepth等は10msec前後で済んでますが、WriteableBitmapだけどうしても50msec
以上要してしまいます。(jpg形式,フルHD)
(※)後から自前のソフトで再生させるため
大まかな保存処理の流れは次の通りです。
1.RGBデータ取得イベント発生(Kinect v2)
↓
2.各種データ保存(Bone,Depth,WriteableBitmap等)
↓
3.描画を施したWriteableBitmapオブジェクトの画面上への表示
各種データ保存はTask内のParallel処理でまとめて行っています。
調べてみたらWriteableBitmapオブジェクトのnew(もしくはClone)に時間を要してい
るのが原因でした。
しかし、スレッド外で宣言されたWriteableBitmapのオブジェクトをスレッド内で使用
する場合、どうしてもnew(もしくはClone)する必要があります。
jpg形式とはいえフルHDで保存している以上、これくらい時間がかかるのは仕方がないのでしょうか?
以上の件、宜しくお願いします。
開発環境:Visual Studio 2013(WPF[C#])
OS:Windows8.1 Pro(64bit)
その他:Kinect v2 + SDK
開発PC:NEC VersaPro(Corei5 4300M 2.60GHz/8GB/300GB)