2017-07-04 5 views
0

Linuxプラットフォームの開発ガイドラインのような文書はありますか?Affectiva SDKベストプラクティス

SDKを使用して少し再生した後、私が気にしていた質問など: 1. CameraDetector(またはその他の検出器)は、メインのGUIスレッドとは別のスレッドで使用する必要がありますか?何とかブロックしているのですか、それとも別のスレッドを単独で産んでいますか? 2.リスナー通知が実行されると、検出器が作成された同じスレッドですか? 3.検出器の始動と停止はコストがかかりますか?アプリケーションを起動して閉じたときに一度実行するか、ユーザーが検出器を使用すべき何らかのアクションを実行したときにオンデマンドで行うことができますか?

他の検出器も同じように動作しますか? SDKを使用するためのその他のベストプラクティスはありますか?

答えて

1

CameraDetector::start()は、カメラに接続してフレームの処理を開始するバックグラウンドスレッドを作成します。 CameraDetector::stop()は、バックグラウンドスレッドに信号を送ってカメラから切断し、フレームの処理を停止し、シャットダウンします。

このように、start()stop()を呼び出すのにオーバーヘッドがありますが、これがメインスレッドのパフォーマンスに影響を与えるかどうかは、あなたが判断する必要があります。私は最初のアプローチとしてメインスレッドでやってみることをお勧めします。

バックグラウンドスレッドでコールバックが行われます。

(a)クライアントの起動時に一度起動し、クライアントのシャットダウン時に停止する方法と、(b)実行する検出作業があるときに必要に応じて起動と停止を行う方法については、実際にはベストプラクティスは1つありません。前述したように、アクティブなセッション(すなわち、start()の後とstop()の前)には、追加のリソースが使用されているため、クライアントアプリケーションのより大きなコンテキストではセッションがまれである場合、(b)に向けてバイアスをかける要因になります。

さらに、CameraDetectorの特定のケースでは、カメラ自体が潜在的に他のアプリケーションがアクセスすることに関心のあるハードウェアリソースであるため、その使用を最小限に抑えると、他のアプリケーションよりも優位になります。

関連する問題