カスタム クラスのネストされたオブジェクトのグループを維持するアプリケーションがあります。このアプリケーションは、非常によく似たカスタム プロバイダー パッチを持つ複数の Quartz Composer コンポジションで、データの変更に応じてデータを共有できる必要があります。QC 組成は、このアプリケーション内で実行されます。
QC パッチは、入力で限られたオブジェクト タイプしか処理できないため、カスタム クラスがそこで機能するようには見えません。また、新しいコンポジションを追加するたびに新しい Objective-C コードを追加する必要があるような方法で、コンポジションをアプリケーションにハードワイヤすることにも躊躇しています。
警告を受けていたにもかかわらず、分散オブジェクトを試しました。私はそれらがあまりにも信頼できないことに気づきました。私の QC パッチは 60 fps で実行されているため、提供されたオブジェクトに頻繁にアクセスしようとするため、クラッシュする前に接続を正常にシャットダウンできません。
現在、私は分散通知を使用して、何かが変更されるたびに更新の辞書を QC パッチに送信しています。これを実行できるように、カスタム クラスを辞書にシリアル化してから、このデータを受け取るパッチの最大 5 つのインスタンスのそれぞれで辞書のシリアル化を解除します。これは機能しますが、効率が悪いようです。また、メッセージの遅延や欠落の可能性に関する警告が気になります。私のパッチは、非常にタイムリーに (0.1 秒未満で、速いほど良い) 更新をドロップせずに受信する必要があります。
アプリケーションからカスタム QC パッチにデータを取得するために使用する最適なメカニズムは何ですか?
ありがとうございました!アダム