問題タブ [real-time]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
matlab - Matlabのリアルタイムデータ
サーバーからデータを取得しようとしています。現在、現在の値について数秒ごとにサーバーをポーリングしています。Matlabにリアルタイムでデータを取得させることは可能か、それとも現在の実装に固執しているのか疑問に思っています。誰かがこのようなことをしましたか?もしそうなら、多分あなたはそれをどのように始めたのか教えてくれます。
どんな助けでも大歓迎です。ありがとう!
java - メソッドscheduledExecutorService.scheduleAtFixedRate()は、どのようにしてリアルタイムの実行を保証しますか?
タイムクリティカルなタスクを毎秒実行しているため、いくつかの方法を比較して、タスクが実際に固定の時間ステップで実行されるようにするための最良の方法を見つけました。すべてのメソッドのエラーの標準的な導出を計算した後、そのメソッドを使用するscheduledExecutorService.scheduleAtFixedRate()
と最良の結果が得られるように見えますが、なぜそうなるのかわかりません。
そのメソッドが内部でどのように機能するかを誰かが知っていますか?sleep()
たとえば、参照されたタスクが実際に固定の時間ステップで実行されることを単純に確認するのと比較して、どのようにすればよいでしょうか。
runtime - 動的ライブラリがありますが、実行時に malloc を呼び出すかどうかを知るにはどうすればよいですか?
uCsimm、Motorola Dragon Ball でネットワーキングを行う必要があります。RTAI パッチを適用して uClinux を実行していて、リアルタイムのパフォーマンスが必要なため、すべての malloc とその仲間は望ましくありません。ソケット動的ライブラリの次のコードがあります。実行時に malloc を呼び出すことを知る方法は? Windowsでcygwinでコンパイルしたところ、cygwinを使用したところ、malloc、calloc、realloc、およびfreeが使用されていることがわかりました。Ubuntu/Linux で、実行時にどの関数が呼び出されるかを調べる方法は? 前もって感謝します!
rss - リアルタイムまたはほぼリアルタイムで RSS を取得する最良の方法は何ですか?
RSS フィードが変更されていない場合でも、フィード全体をダウンロードする必要なく、RSS フィードをリアルタイムで取得する最良の方法を知りたいです。言語はあまり気にしません。それを行うための最良の方法を探しているだけです。
concurrency - Erlang がソフト リアルタイム アプリケーションに適している理由は何ですか?
いくつかの背景
私は、デジタル メディア プログラミング用のプログラミング言語の構築に取り組んでいます。これは、非共有メッセージ パッシングとソフト リアルタイムを使用して同時実行をサポートする必要があります (つまり、サンプルやフレームを失うことなく、一定のスループットでオーディオ/ビデオを計算するために最善を尽くします)。 .
これらの機能を組み合わせるのは驚くほど難しいことがわかりました。これは主に、リアルタイム コードが動的にメモリを割り当ててはならないという 1 つの特定の制約が原因です。
私の言語は、次のようなものを簡単に実装できるようにする必要があります。
- 1 つのスレッドは、パラメーターに基づいてオーディオ サンプルを計算します。これらは、たとえば、シンセサイザーのさまざまなコントロールの値である可能性があります。このスレッドは「リアルタイム」で実行されます。
- 1 つのスレッドが、ユーザーまたは別のコンピューターから入力を受け取り、これらの値を変更します。これは、たとえば、ユーザーがマウスでノブを回したことに反応する GUI スレッドである可能性があります。
ユーザーが設定した新しい値を、キューを介してシンセサイザー エンジンに送信したいと考えています。フロートやその他の原子値のみを送信したい場合、問題は面白くありません。実際には、複雑なオブジェクトやデータ構造であっても、あらゆる種類のデータをあるスレッドから別のスレッドに流すことができるようにしたいと考えています。これは、スレッドと優先順位のあらゆる構成で可能になるはずです。リアルタイム側での動的メモリ割り当てがなければ、プログラマーに恣意的な制限のように見えるものを課すことなく、これは非常に困難になります。
Erlang は、リアルタイム システムに適していると宣伝されることがよくあります。私の理解では、Erlang は決してメモリ割り当てを禁止しません。私が同じことをしたら、それらの割り当てを実行するコードに非決定論的なタイミングが導入されるという犠牲を払って、多くの問題が解消されます。
質問
では、Erlang がこれほど適している理由は何でしょうか? メモリ割り当てによって引き起こされる問題を回避するための特別なトリックを実装していますか、それとも問題を完全に無視していますか? リアルタイムへの別のアプローチはありますか?
質問を説明する例
Erlang で 50 ミリ秒ごとに 64 のサンプルを生成する必要があるシンセサイザーを作成していると仮定しましょう。また、文字列上でスライダーを動かしたときに、小さなオブジェクト (パラメーターの名前と新しい値を含むリストまたはタプルとしましょう) を GUI プロセスからオーディオ プロセスに送信する必要があるとします。コピーが作成されます。これには、動的メモリ割り当てが必要です。この割り当てが音声計算を遅らせないようにするために、Erlang はどのように役立ちますか?
wpf - ライブ データを表示するための WPF ドリルダウン GridView
リアルタイムのセンサー データを表示する監視システムを作成しています。
センサーは階層的に配置されます。たとえば、Sensor 1 は子として S1.1 と S1.2 を持つことができ、さらに S1.1.1、S1.2.1 などを持つことができます。
グリッド内の値をライブ データで更新しながら、各親アイテムをドリルダウンできる GridView コントロールを探しています。
そのようなコンポーネントを自分で作成することは明らかに難しいことではありませんが、そのようなコントロールの作成に 1 週間を費やすよりも何かを購入した方がよいでしょう。
tcp - リアルタイム コマンドに TCP を使用する: Nagle アルゴリズムが原因で大幅な遅延が発生します。どうすればよいですか?
私はソケット サーバーとフラッシュ ゲーム クライアントを書いています。このゲームでは、移動や回転などのリアルタイム コマンドが必要です。これらのコマンドがサーバーからクライアントにできるだけ早く送信されることが重要です。そうしないと、他のクライアントが移動/向きを変えるクライアントとの同期が大幅に失われるためです。
これは、ネーグル算術によって引き起こされる問題の例です。
注: これらのコマンドの意味を理解したい場合は、以下のコマンド表を参照してください。
最初のものは私が動かした船です(前進+右、前進は受信されましたが、右ではありません)
コマンドを送信するクライアント:
コマンドを受信するクライアント:
「瞬間」は私が言おうとしていることを意味しない奇妙な用語ですが、ここでは前のコマンドからのミリ秒単位の時間のようです
クライアント A が送信 (瞬間: 0)、クライアント B が受信 (瞬間: 0)
右折 クライアント A が送信 (瞬間: 0)、クライアント B が受信 (瞬間: 155)
クライアントAによる送信の停止(瞬間:108)、クライアントBによる受信(瞬間:0)
クライアントAが送信を停止する(瞬間:0)、クライアントBが受信する(瞬間:0)
クライアント A によって送信された転送 (瞬間: 1283)、クライアント B によって受信された (瞬間: 1236)
右折 クライアント A が送信 (瞬間: 1)、クライアント B が受信 (瞬間: 273)
クライアント A が送信した動きの停止 (瞬間: 186)、クライアント B が受信した (瞬間: 0)
クライアント A による送信の回転を停止 (瞬間: 30)、クライアント B によって受信 (瞬間: 0)
これは、コマンドに対応するコマンド テーブルです。
クライアント -> サーバー
サーバー -> クライアント
つまり、"Nagle" のためにコマンドが完全に非同期になっていることがわかります。これにより、移動停止コマンドが移動開始コマンドと同時に他のクライアントによって受信され、そのプレイヤーはまったく移動しなくなります。
これが、これらのコマンドを TCP サーバーによって可能な限り高速にリアルタイムで送信する必要がある理由です。簡単な修正方法は、単に Nagle を無効にすることです。しかし、私はググってみました (tcp メッセージのパーシャルに関する彼の提案は私のシステムに実装されていますが、タイミングとは何の関係もないことに注意してください)。
この原因に対して Nagle アルゴリズムを無効にするべきではなく、代わりに他の解決策を探すべきであるというのは本当ですか? なぜだめですか)?
前もって感謝します。- トム
real-time - Webページにリアルタイムでデータを表示
どのように表現すればよいかわかりませんが、私が探しているのは、データが利用可能になったときに Web ページにデータを表示する方法です。例: Web ページに IRC チャネル メッセージを表示する場合、メッセージが IRC チャネルに送信されると、メッセージは同時に (またはほとんど遅延せずに) Web ページに出力されます。または、データがデータベースに挿入されると、同時に Web ページに出力されます (再び、またはほとんど遅延せずに)。そのような機能はどのように実装されていますか? そのような機能は JS/JQuery で実装できますか? それが Mibbit の動作 (AJAX) のように見えるためです。どこから始めればいいのか、何が必要なのかまったくわからないので、例または疑似コードの説明をいただければ幸いです。
wpf - ViewModelツリーと頻繁に更新されるモデルツリー
私のWPFMVVMアプリケーションでは、私のモデルはモデルオブジェクトの複雑なツリーであり、実行時に絶えず変化します。モデルインスタンスは実行時に出入りし、ツリー内での位置を変更し、もちろん多くのプロパティを変更します。マイビューは、そのツリーをほぼ1対1で視覚的に表現したものです。すべてのモデルインスタンスは、ケースの80%で、ツリー内のノードでもあります。
私の質問は、これを中心にViewModelをどのように設計するかということです。私の問題は、それぞれが非常に多くのプロパティを持つ非常に多くの異なるモデルタイプがあることです。MVVMを正しく理解している場合、ビューはモデルと直接通信しないはずです。つまり、モデルタイプごとにViewModelタイプを作成し、モデルタイプの各プロパティをViewModelに再ラップする必要があります。
また、ViewModelは、モデルのpropertychangesに「バインド」して、ビューに渡す必要があります(wpf datatbindingを使用)。新しく表示される各モデルのViewModelインスタンスを作成して導入するファクトリが必要であり、対応するモデルが消えたときに各ViewModelインスタンスを破棄する必要があります。作成したすべてのインスタンスを追跡することになります。この二重の折り返しが原因で、どれだけの膨張コードが生成されるかは信じられないほどです。これは本当に良いアプローチですか?各エンティティと各プロパティは2回存在し、モデルとビューの同期を維持するための追加のコードがたくさんあります。これをどのように処理しますか?これを解決するためのより賢い方法はありますか?
誰かが私よりも優れているこのためのリファレンス/サンプル実装を持っていますか?
javascript - PubSubHubbub からリアルタイムの更新を取得するページを作成する方法
PubSubHubbubを使用するフィードから継続的に更新を受信するページを作成するために、javascript/html または php などを使用できるかどうかを知りたいですか?
これどうやってするの?私はこれが初めてで、ヒントがあれば役に立ちます。