atrament.jsやsignature_padなどのライブラリを使用してスタイラスでHTMLキャンバスに描画するのは、OneNoteで描画するよりもはるかに遅いようですか?夜と日の違いがあるようですが、JavaScriptやブラウザなどの制限があることを理解しようとしています。HTML5キャンバスとOneNoteとの書き込み速度
上記の解決策が最高のパフォーマンスで動作している場合は、誰も知りませんか?もしそうなら、なぜOneNoteと異なるのか?
編集:OneNoteのデスクトップ版
atrament.jsやsignature_padなどのライブラリを使用してスタイラスでHTMLキャンバスに描画するのは、OneNoteで描画するよりもはるかに遅いようですか?夜と日の違いがあるようですが、JavaScriptやブラウザなどの制限があることを理解しようとしています。HTML5キャンバスとOneNoteとの書き込み速度
上記の解決策が最高のパフォーマンスで動作している場合は、誰も知りませんか?もしそうなら、なぜOneNoteと異なるのか?
編集:OneNoteのデスクトップ版
ブラウザはイベントドリブンです。これは、入力>入力の処理>キャンバスに描画>画面にペイントするという次のようなことが起こることを意味します。ブラウザは60FPSにロックされているため、入力は入力(0ms)>処理>描画>ペイント(16ms)のフレームまで可能です。また、処理または描画のステップが遅い場合、遅くなる可能性があります。
デスクトップアプリケーションは、必ずしも60FPSに限定されず、いつでも画面に直接描画することができます。ですから、ループはinput> paintのようになります。
これはすべて高レベルですが、入力と出力の間の遅延につながる種類のものです。
イベントは、画面のリフレッシュレートに関連付けられておらず、いずれもjsではありません。絵だけはありますが、デスクトップアプリにも同じことが言えます(画面のリフレッシュレートのハードウェア制限をほとんど変更できません)。実際に何が起こるかは、* loop1:[イベント=>処理(=キャンバスに描画)](max(入力デバイスレート、処理時間))* *ループ2:塗装(60fps)*。ですから、一般的な手法の1つは、処理時間を避けるために* => draw *をキャンバス*に含めることです。 – Kaiido
実際、最新のブラウザでは、jsを実行しているスレッドとは別のスレッドで処理されています。つまり、ページをフリーズしても、イベントは保存され、ブラウザが処理できると処理されます。 。 *フェーズ1:[イベント=> UA処理](最大レート=入力デバイスレート)フェーズ2:[js処理(=キャンバスに描画)](処理時間)フェーズ3:ペイント(最大レート= 60fps)*。 – Kaiido
@Kaiido:私のことを聞いてみる。私はそのことを知っていましたが、シンプルでハイレベルなものを保ちたいと思っていました。あなたはそれを答えに入れなければなりません。おそらく代わりに選択されるだろう。 – Whothehellisthat
デスクトップのOneNoteプログラムまたはWebベースのOneNoteアプリケーションについて言及していますか? – Dai
デスクトップバージョン – anesthetic