none
Kinect v2から取得したデータの保存に時間がかかる RRS feed

  • 質問

  • 毎度お世話になります、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)

    2015年5月16日 7:06