喜んで印刷

この蚘事では、タむピング遅延キヌボヌド入力たたは「入力ラグ」の人間ず機械の偎面を研究し、䞀般的なテキストおよびコヌド゚ディタヌで䜜業する際の遅延に関する実隓デヌタを瀺したす。



最近、 遅延はコンピュヌタヌの䞖界でホットな話題になりたした。珟圚、䜎遅延のキヌボヌド、144 Hzのモニタヌ、遅延時間を短瞮する特別な技術 FreeSyncやG-Syncなど 、これに関心のあるコミュニティなどがありたす。 もちろん、このファッションの䞀郚はマヌケティングによっお䜜成されたしたが、実際には、わずかな遅延が可胜になり、望たしいものになりたした。



明らかに、ゲヌマヌはそのような改善の恩恵を受ける最初の人です。 バヌチャルリアリティなどの䞀郚の領域では、埅ち時間は1ミリ秒になる堎合でも決定的な芁因です。 しかし、プログラマはどうでしょうか 「喜びを持っお発展する」ためには、「喜びを持っお印刷する」必芁がありたすか それを理解したしょう。



内容



1. 男の偎

1.1。 フィヌドバック

1.2。 運動胜力

1.3。 内郚モデル

1.4。 マルチタッチ統合

1.5。 効果

2. 機械の偎面

2.1。 入力遅延

2.2。 凊理遅延

2.3。 出力遅延

2.4。 完党な遅延

3. ゚ディタヌの比范テスト

3.1。 構成

3.2。 方法論

3.3。 窓

3.4。 Linux

3.5。 Virtualbox

4. 結論

5. 参照



1.男の偎



キヌボヌド入力遅延ずは、キヌストロヌクず察応する画面の曎新の間の時間間隔を指したす。 簡単に聞こえたすが、間違えないでくださいキヌボヌド入力プロセスぞの圱響は非垞に耇雑です。なぜなら、そのようなタむピングは、私たちの䜓ず神経系の協調した行動の驚くべき珟れであるからです少なくずも技術的な芳点から。



基本から始めたしょう-䞀般的に、遅延を心配するこずは䟡倀がありたすか 急ぐ必芁はありたせん。必芁なものを印刷しお、埌で結果を確認できたす。 数秒で䜕も解決したせんよね そうでもない。



1.1。 フィヌドバック



人は自分が望むものを「ただ印刷」するのではありたせん。 私たちの感情はいわゆる 動きを䌎う閉ルヌプ制埡 。 芖芚画像は入力の結果だけではありたせん。 これはプロセスの䞍可欠な郚分です 。



キヌボヌドの操䜜入力の際に、より完党なフィヌドバックがあればあるほど良いです。 原則ずしお、目を閉じお印刷できたす。 耳を塞いでも、指の觊芚だけに頌っお入力を続けるこずができたす。 ただし、この最埌のフィヌドバックチャネルをブロックするず、キヌボヌド入力が䞍可胜になりたす。 感芚の芖芚圢態が支配的であり 他の感芚からの情報は通垞芖芚に適応する、入力゚ラヌに関する信頌できるデヌタを取埗する唯䞀の方法であるため、芖芚フィヌドバックは非垞に重芁です。



遅延を枛らすず、フィヌドバックルヌプが「短瞮」され、入力が簡単になり、速床ず粟床が向䞊したす。 これたでのずころ悪くはありたせんが、合理的な境界線はどこにありたすか 最終的に、 人は信じられないほどゆっくりず反応したす-感情から意識ぞ、そしお筋肉ぞの「行き来」には玄200ミリ秒かかりたす 確かに、反応は蚓緎するこずができ、人々にずっおは異なりたすが、100ミリ秒などの比范的小さな遅延が良い遞択肢のようです。 たったくありたせん。



1.2。 運動胜力



最初にコンピュヌタヌのキヌボヌドを䜿甚しようずしたこずを思い出しおください。 ほずんどの堎合、適切なキヌを抌しおから画面䞊の結果を確認するのに数分かかりたした。 このプロセスにはすべおの焊点が必芁でした。 しかし、数か月ず数幎が経ち、キヌボヌドで驚くほど速く半自動で入力しおいるようになりたした。特定のキヌに぀いお考える必芁がなくなり、キヌボヌドをたったく芋おいたせん 「タッチタむピング」 。 緎習が圱響したす。 このプロセスは「運動胜力の獲埗」 たたは運動胜力の獲埗  運動孊習 ず呌ばれたす。 スキルが自埋フェヌズに到達するず、タスクはその実装に泚意を匕くこずなく「自動的に」実行できたす。



正匏には、タむピングキヌボヌド入力は、人の運動系の動きを制埡するプロセスです 。 タむピングキヌボヌドでのタむピングは现かい運動 小さな筋肉の協調運動が発生するであるため、フィヌドバックに倧きく䟝存しおいたす 。 ただし、このフィヌドバックは朜圚意識レベルで凊理されるため、必ずしも深刻なマむナスの圱響を経隓しながら遅延を認識する必芁はありたせん。 人間の応答時間は、゚ラヌ修正にのみ関係したす。



しかし、半自動プロセスでさえ芖芚的な遅延 pdfファむルによっお制限されおおり、フィヌドバックは䜿甚できる堎合にのみ有効です。 人間の芖芚システムは、入力の凊理に玄40ミリ秒かかりたす。 この倀は、倚くの芁因、特定の人にも䟝存し、トレヌニングによっお改善できたす。 結論20ミリ秒未満の遅延は蚱容範囲内ですか そうでもない。



1.3。 内郚モデル



たず、「倖郚の」遅延は芖芚的な遅延に远加され、芖芚的な遅延に重畳されないこずを明確にしたす。 遅延の問題。 ただし、玄20 msの倀はただ比范的小さいず蚀えたす。 良いですが、人間の運動システムは、より速く反応するためのいく぀かの巧劙なトリックを知っおいたす。



感芚噚官ず神経系の入力遅延に察凊するために、人間の運動制埡システムは内郚モデルずしお知られる特別な神経プロセスを䜿甚したす。 このプロセスは、フィヌドバック信号を受信する前であっおも、制埡されたシステムの応答反応を暡倣できたす-プロセスの高床なモデリングの䜿甚。 远加の逆モデルは 、電流フィヌドバックに基づいお制埡システムの応答反応を予枬するように蚭蚈されおいたす。



遅延はフィヌドバックルヌプに盎接圱響を䞎えるのではなく、印刷プロセスの内郚モデルに圱響を䞎えたす。 盎接モデルず逆モデルは 、いく぀かの内郚フィヌドバックルヌプず組み合わせお䜿甚され 、 非線圢システムを圢成したす 。 その結果、フィヌドバック信号のわずかな遅延でも、キヌボヌドでの入力時入力䞭に重倧な違反に぀ながる可胜性がありたす。



内郚モデルずは別に、芖芚的な遅延によっお悪圱響を受ける別のプロセス- 倚感芚統合がありたす。



1.4。 マルチタッチ統合



キヌボヌドで入力するずきの芖芚的なむメヌゞは、フィヌドバックの唯䞀のタむプではありたせん。キヌを抌すず音が聞こえ、指に圧力を感じ、手ず指の䜍眮を認識できたすいわゆる固有受容 。



これらの感芚はそれぞれ別々に凊理され、神経系は特定の信号グルヌプを䜿甚するかどうかを決定したす。 このタスクはバむンディングの問題ずしお知られおおり、それ自䜓が課題ですたずえば、 倚感芚錯芚を参照。 脳がほずんどの感芚からすぐに圱響を受け、画像がさらに遅延しお到着するず、状況がさらに耇雑になりたす。



神経系は芖芚フィヌドバックの䞀定の遅延にある皋床pdfファむル 適応できたす理想的ではありたせんがが、遅延の長さの䞍芏則性いわゆるゞッタヌは固有の予枬䞍胜性により远加の問題を匕き起こしたす。



初期掻動が完党に䞍可胜になる状況たで、フィヌドバック信号の遅延がその完党な䞍圚よりも悪い結果を匕き起こす可胜性のある他の分野からのいく぀かの実䟋がありたすコンピュヌタヌを介しおMIDIキヌボヌドで挔奏する堎合、 音の遅延は 20-30ですあなたの行動を混乱させるにはmsで十分です1぀の蚘事 pdfファむルでは、玄1 msでも音の遅延が問題であるず䞻匵しおいたす。 別の良い䟋は、いわゆる SpeechJammer pdfファむル「チャッタヌファむタヌ」。 200 ms、䞀時的に人の話す胜力を劚害したす。



1.5。 効果



キヌポむントをたずめる



•入力キヌボヌドでの入力は耇雑な半自動プロセスであり、習埗するには䜕幎もかかりたす。

•原則ずしお、印刷プロセスは、芖芚フィヌドバックのミリ秒の遅延の圱響を受けたす。

•あなたの意識が遅延の存圚を認識する必芁はありたせんが、それでもなお、それはあなたに悪圱響を及がしたす。

•人の感受性ず遅延耐性は倧きく異なりたす。



しかし、遅延はタむピングプロセスキヌボヌド入力にどの皋床圱響したすか 考えられるいく぀かの効果がありたす。



•印刷が遅くなりたす。

•゚ラヌずその修正の数が増えおいたす。

•目が疲れたすビゞョンシステムが過負荷になっおいるため。

•筋肉がより疲れたすモヌションコントロヌルの定矩が少なくなるため。

•プロセスには、より意識的な泚意が必芁です。



遅延の正確な圱響は、遅延の特定の分垃、䜿甚されるハヌドりェアキヌボヌド、モニタヌ、゚ディタヌの内容テキストたたはコヌド、メむンアクティビティ挿入/線集、印刷方法通垞/ブラむンド印刷、仕様など、倚くの芁因に䟝存したすあなたのビゞョンず運動胜力、個人的な奜みなど



蚀うたでもなく、遅延の圱響の可胜性はほずんどありたせん。 良いニュヌスは、これが䞡方向で機胜するこずです。぀たり、芖芚的な遅延を枛らすこずにより、䞀般的な堎合、倚くの偎面を改善できたすこれは印刷速床そのものではありたせん



原則ずしお、埗られた結果は利甚可胜な研究デヌタず䞀臎しおいたす。 このテヌマをより深く理解したい堎合は、遅延の圱響に関するデヌタや印刷プロセスに察する芖芚的フィヌドバックの圹割に関するデヌタを含む曞籍や科孊蚘事をご芧ください。たずえば、



• プロのタむプラむティングの認知的偎面

• プロのタむプラむティングにおける画面ず手の芖芚フィヌドバックの圹割 pdfファむル



特に、以䞋を匕甚する䟡倀がありたす source 



コンピュヌタヌのディスプレむ䞊の芖芚的フィヌドバックの遅れは、オペレヌタヌの行動ず䜜業に察する圌の満足床に重芁な圱響を及がしたす。


では、マシンの偎面を芋お、遅延状況を改善する方法を芋぀けたしょう。



2.機械の偎面



キヌが抌されおからキャラクタヌが画面に衚瀺されるたでの間に䜕が起こりたすか いろいろなこずがあり、すべおに時間がかかるこずがわかりたした。 静かなタむピングを保蚌するために、単にトップ゚ンドのコンピュヌタヌを賌入するこずは可胜ですか このプロセスの倚くの郚分は䞭倮および/たたはグラフィックプロセッサから独立しおいるため、これは圹立ちたすが、ある皋床のみです。 䞡方の錠剀を服甚するず、りサギの穎がどのくらい深くなるかをお芋せしたすこれは真実の䞀郚にすぎないためです。



印刷遅延は、次のコンポヌネントに分割できたす。



•入力遅延キヌボヌド

•凊理遅延゜フトりェア

•出力遅延モニタヌ



各コンポヌネントを詳しく芋おみたしょう。



2.1。 入力遅延



最初に、通垞の非ゲヌミングUSBキヌボヌドが入力をどのように凊理するかを理解したしょう。 このようなキヌボヌドは、デスクトップコンピュヌタヌずラップトップの䞡方で珟圚最も広く䜿甚されおいたす。



キヌボヌドスキャン



通垞のキヌボヌドには100を超えるキヌが含たれおいたすが、これはかなりの量です。 制埡プロセッサのワむダず入力の数を最小限に抑えるために、キヌスむッチは通垞、 マトリックス回路に接続されたす。 ワむダの「行」ず「列」が亀差したす。 このため、ワむダず入力の数を「x * y」から「x + y」に枛らすこずができたすたずえば、121から22。 このアプロヌチの結果、コントロヌルプロセッサはすべおのキヌの状態を同時に読み取るこずができたせん。䞀定の頻床で定期的にスキャンする必芁があり、遅延が発生したす。 マトリックスの䞀般的なスキャン呚波数は1,000 Hzであるため、スキャンに関連する最倧遅延は1 ms平均-0.5 msです。



連絡先のバりンス



キヌボヌドのタむプに関係なく、キヌスむッチは機械的に䞍完党であり、 バりンスに接觊する傟向がありたす。「クリヌン」な応答の代わりに、スむッチは停止する前に数回オン状態からオフ状態に切り替わりたす。 バりンスの期間は、スむッチングテクノロゞヌによっお異なりたす。 たずえば、 前述のCherry MXデバむスの堎合、5ミリ秒未満です。 正確な確率分垃は䞍明ですが、察応する経隓的デヌタに基づいおいたすが 、玄1.5ミリ秒のバりンス期間を取るこずができたす。



連絡先のバりンス



ポヌリングの頻床は非垞に高いため、チャタヌはいく぀かのキヌストロヌクずしお解釈される可胜性があるため、キヌボヌドコントロヌルプロセッサはいわゆる 信頌できる結果を埗るのに十分な時間間隔で信号を平均化するこずにより、接觊バりンスを排陀したす。 このようなフィルタリングは、マむクロコントロヌラヌのファヌムりェアに応じお、远加の遅延をもたらしたす。 䞀般に、補造業者はマむクロプログラムの特性を報告しないため、チャタリングを陀去するための兞型的なアルゎリズムを怜蚎し、フィルタリングにより玄10 7ミリ秒の遅延。 かくしお 最倧の「チャタヌ陀去時間」は玄 12ミリ秒、平均玄 8.5ミリ秒



USBポヌリング



USBはホストコンピュヌタヌによっお制埡されるバスであるため、キヌボヌドはこのコンピュヌタヌからの芁求を登録キヌプレスに関する情報を送信するのを埅぀必芁がありたすキヌボヌド制埡プロセッサヌは収集されたむベントを出力バッファヌに配眮したす。 USBデバむスは初期化䞭に必芁なポヌリング呚波数最倧1,000 Hzを芁求したすが、オペレヌティングシステムは通垞、䜎速およびフルスピヌドUSB1.xデバむスの䞡方に125 Hzを䜿甚したす。 したがっお、ポヌリングに関連する最倧遅延は8ミリ秒平均4ミリ秒です。 倚くの堎合、ポヌリングの頻床を手動で増やすこずができるこずに泚意しおください。



USB倉換



デヌタ倉換にも時間がかかりたす。 ロヌスピヌドデバむスずフルスピヌドデバむスの䞡方で、最短の倉換時間は1ミリ秒です。 高速デバむスUSB2の堎合、この時間ははるかに短くなりたす。 0.001 msずころで、 リアルタむムシステムに察するUSB​​の適合性に関する優れた蚘事がありたす pdfファむル。 デヌタ倉換時間を最小限に抑えるため、USBブロヌドバンドデバむスストレヌゞデバむス、サりンドカヌド、Webカメラなどを、キヌボヌドが接続されおいるのず同じUSBコントロヌラヌ/ハブに接続しないこずをお勧めしたす。



それでは、兞型的なキヌボヌドの遅延倀を収集したしょう。

出所 分、さん マックス・ミズ 平均
マトリックススキャン 0 1 0.5
コンタクトバりンス 7 12 8.5
USBポヌリング 0 8 4
USB倉換 1 1 1
合蚈 8 22 4


これらの結果は、䞀般に、キヌボヌドによる遅延の枬定に関するいく぀かの実隓結果に察応しおいたす。



もっず良くするこずは可胜ですか もちろん、梚を砲撃するのず同じくらい簡単です プロのキヌボヌドを䜿甚したす。



•短いバりンス時間のスむッチ䞀郚は光孊匏 

•高呚波スキャンマトリックス

•適応チャッタヌ陀去アルゎリズム

•カスタムファヌムりェア

•迅速なポヌリングず䜎い倉換遅延のためのUSB2



これにより、最倧および平均キヌボヌドレむテンシの䞡方を倧幅に削枛できたす。 たずえば、 Kinesis Advantageキヌボヌドを賌入したずき、以前の「通垞の」キヌボヌドずすぐに違いを感じたした。



ゲヌム甚キヌボヌドはさらに進化したす-劥協のない゜リュヌションのサポヌタヌであれば、 チェリヌのRealKeyテクノロゞヌのようなものを怜蚎する必芁がありたす。この技術では、キヌはデゞタルではなく アナログ入力を介しお読み取られたす。 遅延はほがれロです。



2.2。 凊理遅延



凊理遅延は、キヌボヌドから入力信号を受信しお​​からビデオフレヌムに入力された文字の画像を生成するたでの遅延です。 簡単に蚀えば、これはコンピュヌタヌ自䜓の内郚の遅延です。



凊理遅延はパフォヌマンスだけで決たるのではないこずに泚意しおください。理論的には、入力埌5秒の「遅延」で300 FPSを発行するシステムを䜿甚するこずが可胜です。 特に、パケット化ずバッファリングは、倚くの堎合、遅延のためにより高いパフォヌマンスを達成するための詊みです。



抂念的には凊理遅延のさたざたな原因がありたすが、実際にぱディタの䜿甚ず密接に関連しおいるため、通垞はすべおの郚分が䞀緒に枬定されたす実隓デヌタに぀いおは次の章を参照。



オペレヌティングシステム



USB ホスト コンピュヌタヌの「USBポヌト」はキヌボヌドからデヌタを受信するず、ハヌドりェア割り蟌みを開始し、オペレヌティングシステムの゜フトりェアドラむバヌが受信したデヌタをホストコントロヌラヌむンタヌフェむス 通垞はPCIたたはPCIe経由で読み取れるようにしたす 。 次に、このデヌタはOS のヒュヌマンマシンむンタヌフェむス HID サブシステムによっお凊理され、最終的にオペレヌティングシステムのメッセヌゞキュヌに 「キヌが抌された」むベントタむプWM_KEYDOWN が配眮されたす 。 その埌、むベントはむベントルヌプによっおアクティブなアプリケヌションのりィンドりにディスパッチされたす。



これらすべおのアクションには時間がかかりたすが、私たちの目的キヌボヌドでの入力には無芖できたす。 ここで重芁なのは、䞻芁なオペレヌティングシステム぀たり、Windows、Mac、およびLinuxベヌスのオペレヌティングシステムがリアルタむムシステムではないため、遅延倀に関する保蚌がないこずです。 ハヌドりェアプロセスネットワヌクI / O、セヌブI / Oなどずマルチタスク゜フトりェアの䞡方が、予枬できないほどそしお無制限に凊理時間を増加させる可胜性がありたす。



ちなみに、GUIアプリケヌションはシステムレむテンシに厳しい制限を課す可胜性があるため、 Linuxカヌネルの蚈画をデスクトップ䜿甚専甚に最適化する詊みが数倚く成功しおいたす特にulatencyd動的最適化システムを䜿甚。



簡単にするために、キヌボヌドから入力するずきにコンピュヌタヌに倧きな負荷がないず仮定したす。 この皮類の遅延は1ミリ秒未満になりたす。



仮想マシン



テキスト゚ディタヌ/ IDEがプロセス仮想マシン JavaのJVMや.NET FrameworkのCLRなど 䞊で実行される堎合、ランタむムもリアルタむムシステムではないため、远加の遅延が発生する可胜性がありたす次のような特別な実装を陀く リアルタむムJava 。



通垞、パフォヌマンス自䜓は問題を匕き起こしたせんが、 JITコンパむラヌたたはガベヌゞコレクタヌをオンにするず、倚少の遅延が予想されたす。 JavaScript゚ンゞンずEmacs Lispむンタヌプリタヌもこのタむプの遅延を匕き起こしたす。



メむンの仮想マシンはここ数幎で倧幅に改善されたしたが、安定した遅延を保蚌するために、いく぀かの予備的な「りォヌムアップ」が䟝然ずしお有甚である可胜性がありたす。



゚ディタヌ



この郚分が最も重芁です。 䜿甚する゚ディタヌは、印刷の遅延に倧きく貢献したす。 ハヌドりェアによっお䜜成される遅延ずは異なり、゚ディタヌの最倧遅延は実質的に無制限です1〜2秒で簡単に぀たずきたす。



゚ディタヌは䞻に䞭倮凊理装眮に結び付けられおいるため、より匷力なマシンを䜿甚するこずで゚ディタヌの遅延を枛らすこずができたす優れたグラフィックプロセッサヌも圹立ちたす。 しかし、電力のみぞの垌望は完党に正圓化されるわけではありたせん-それはしばしば、それが本圓に最も必芁ずされる間違った堎所に行きたすたずえば、開発サヌバヌを起動するずき、たたはバックグラりンドでデヌタを凊理するずき。 たた、䞀流のラップトップでさえ、 省゚ネモヌドバッテリヌではるかに遅くなる可胜性があるため、このアプロヌチは郚分的にしか効果がないこずに泚意しおください。 さらに、ご存知のずおり、かなり高䟡です。



より良い方法がありたす-原則ずしお、静かなタむピングのためにスヌパヌコンピュヌタヌは必芁ありたせん-私たちがしなければならないのは、目暙を念頭に眮いお、゚ディタヌを実装するこずです。 ゚ディタヌでの入力は比范的簡単なプロセスであるため、 286プロセッサヌ䞊のコンピュヌタヌでさえかなり速い入力を提䟛したした。 IntelliJ IDEAのれロレむテンシタむピングが目指しおいるのは、今日の掗緎されたIDEでもほがれロのタむピングレむテンシを達成するこずです。 技術的な詳现に぀いおは、 AWTおよびSwingでの䜎レむテンシレンダリングに関する私の蚘事を参照しおくださいJavaプラットフォヌムが考慮されたすが、䞻芁なアむデアは、グラフィカルナヌザヌむンタヌフェむスを構築するためのほずんどのオペレヌティングシステムずフレヌムワヌクに拡匵できたす。



゚ディタヌ/ IDEの印刷遅延は倧きく異なりたす。 次の章には、トピックに関する豊富な経隓的情報が含たれおいたす。



レンダリングパむプラむン



䞭倮およびグラフィックプロセッサは䞊行しお動䜜し、ビデオドラむババッファで補完された呜什バッファを介しお盞互䜜甚したす。 ほずんどのレンダリングコマンドは非同期です。 したがっお、レンダリング方法が完了するずすぐに、すぐに開始しないすべおの暩利がありたす。 レンダリングコマンドはビデオドラむバヌバッファヌに蓄積され、パッケヌゞ化されおGPU呜什バッファヌに送信されたす遅延により、より高いフレヌムレヌトを取埗しようずしたす。 結果ずしお生じる遅延は、ハヌドりェア/オペレヌティングシステム/アプリケヌション゜フトりェアむンタヌフェむス/ビデオドラむバヌの組み合わせに応じお、わずかなものから非垞に倧きなものたでさたざたです。



兞型的なデスクトップアプリケヌションは、グラフィカルナヌザヌむンタヌフェむスを構築するためのフレヌムワヌク䞊で実行されるため、䞋のレンダリングパむプラむンから分離されおいるため、レンダリングレンダリング同期から分離されおいたす 。 通垞、これは受け入れられる 倚くのデスクトップアプリケヌションは遅延の圱響を受けたせん。 ただし、䞀郚のアクションは非垞に敏感ですIDEでの入力など。これは、゚ディタヌがバッファヌ内のコマンドを明瀺的に「プッシュスルヌ」し、フレヌムを匷制的にレンダリングしお埅ち時間を短瞮できるためです。 䟋に぀いおは、OpenGLでの同期の操䜜を参照しおください。 たた、コンベアのプッシュに関するデモを芋るこずができたす。



ダブルバッファリング



郚分的にトレヌスされたフレヌムを衚瀺せず、画面党䜓に䞀床に画像党䜓を衚瀺するために、倚くのアプリケヌションはいわゆるアプリケヌションを䜿甚したす。 ダブルバッファリング -画像は最初にオフスクリヌンの「セカンダリバッファ」で準備され、すべおのグラフィック操䜜が完了するず、曎新された画像領域がビットごずのコピヌたたはペヌゞの切り替えによっおフレヌムバッファに転送されたす 。 倚くのフレヌムワヌク Swingなどは、デフォルトでダブルバッファリングを行いたす。



蚀うたでもなく、この远加手順は远加の遅延に぀ながりたす。 Javaのドキュメントには、「パフォヌマンスメトリックが、盎接レンダリングず比范しおダブルバッファリングたたはペヌゞ切り替えが発生する速床だけである堎合、倱望する可胜性がありたす。 ダむレクトレンダリングの倀はダブルバッファリングの倀をはるかに䞊回り、これらの倀はペヌゞの切り替えの倀よりもはるかに高くなるこずがわかりたす。



ダブルバッファリングが絶察に必芁な堎合もあれば、実際には䞍芁な堎合もありたす。 したがっお、線集者は過床の芖芚的遅延を避けるために、ダブルバッファリングを慎重に䜿甚する必芁がありたす。 詳现に぀いおは、 バッファリングのオヌバヌヘッドのデモをご芧ください。



りィンドりマネヌゞャヌ



最近のアプリケヌションは、フルスクリヌンモヌドではほずんど動䜜したせん。 ほずんどのデスクトップ環境では、各プログラムが個別のりィンドりに衚瀺されたす。 このタスクは、いわゆる りィンドりマネヌゞャ。りィンドりの描画および曎新方法に応じお、いく぀かのクラスに分割できたす。



スタックりィンドりマネヌゞャヌは、最初に背面にあるりィンドりのレンダリングが実行されるように、重耇するりィンドりのむメヌゞを敎理したす。このアプロヌチにはいく぀かの欠点りィンドりのコンテンツを明瀺的に埩元する必芁があるがありたすが、アプリケヌションがフレヌムバッファヌに盎接描画するため、远加の遅延は発生したせん。スタックりィンドりマネヌゞャヌの䟋Windowsのクラシックテヌマ、LinuxのOpenbox。



耇合りィンドりマネヌゞャヌフレヌムバッファの代わりに、各りィンドりに専甚のオフスクリヌンバッファを䜿甚し、それが適切ず思われる堎合および方法すべおのりィンドりを䞀緒に衚瀺したす。この分離により、必然的に遅延が倚少増加したす。コンポヌネントマネヌゞャの䟋WindowsのAero、LinuxのCompiz。



関連する経隓的デヌタに぀いおは、次の章で説明したす。



垂盎同期



垂盎同期たたはV-Syncは、画面の砎損を防ぐ方法です、぀たりディスプレむが画面の1぀の画像のいく぀かのフレヌムからの情報を衚瀺するような状態。結果ずしお生じる歪みは、鋭い垂盎゚ッゞを持぀氎平方向に移動するオブゞェクトで最も顕著です぀たり、印刷䞭ではありたせん。



V-Syncは、セカンダリバッファの内容をフレヌムバッファに転送する前に、生成されたビデオ信号の新しいフレヌムを埅機するこずになりたすしたがっお、V-Syncはダブルバッファリングを意味したす。したがっお、垂盎同期が有効になっおいる堎合、フレヌムバッファを曎新する前に远加の遅延が発生する可胜性がありたす。。最倧遅延は玄17ミリ秒で、平均は玄8ミリ秒です60 Hzのリフレッシュレヌトの堎合。興味深いこずに、この遅延は画面の曎新によるものです。この遅延の䞀郚は回埩できないためシンボルの垂盎䜍眮に応じお、平均合蚈倀が玄4ミリ秒しか増加したせん。ただし、合蚈遅延の最倧増加は玄17ミリ秒に達したす。



通垞、デスクトップ環境では、V-Syncを有効にするかどうかを明瀺的に遞択するこずはできたせん。 WindowsでのV-SyncはAeroでは蚱可されおいたすが、Classicテヌマでは蚱可されおいたせん。 Linux V-Syncは、耇合りィンドりマネヌゞャヌずスタックりィンドりマネヌゞャヌの䞡方でオフになっおいるようです。



ある意味では、V-SyncはGPUを匷制的にリフレッシュレヌトの制埡に適応させおいたすが、これはブラりン管時代の遺産です。珟圚、はるかに奜たしい解決策がありたす以䞋を参照。䞀般的なコンピュヌタヌ



の遅延倀を考慮したす重芁なI / O負荷ず蚈算機はなく、りィンドりマネヌゞャヌはV-Syncなしで䜿甚されるず想定しおいたす。



出所 分、さん 最倧ミリ秒 平均ミリ秒
オペレヌティングシステム 0 ∞ 
仮想マシン 0 ∞ 
゚ディタヌ 0 ∞ 
ストリヌムレンダリング 0  
ダブルバッファリング 0  
りィンドりマネヌゞャヌ 0  
垂盎同期 0 0 0
合蚈 0 ∞ 


これらの遅延は、ハヌドりェアによる遅延よりも予枬が難しく、コンピュヌタヌの構成に非垞に敏感です。原則ずしお、合蚈凊理遅延は0〜1ミリ秒たたは10秒です。そのため、ここでは理論的な考察が十分ではなく、いく぀かの正確な数倀が必芁です。次の章の広範な経隓的蚌拠を参照しおください。



凊理遅延の状況を改善するにはどうすればよいですかいく぀かの方法がありたす。



•䜎遅延゚ディタヌ/ IDE

•匷力なコンピュヌタヌハヌドりェア䞭倮およびグラフィックプロセッサヌ

•スタックりィンドりマネヌゞャヌクラシックWindowsテヌマ、Openboxなど。

•垂盎同期の欠劂



明らかに、゚ディタヌは最も重芁です。



2.3。出力遅延



䞀般的な非ゲヌミングLCDモニタヌが生成された画像をどのように衚瀺するかを怜蚎しおください。



画面の曎新



コンピュヌタヌ画面の画像は、ビデオカヌドのメモリたたは共有ビデオメモリのフレヌムバッファヌに保存されたす。モニタヌは、フレヌムバッファヌに盎接アクセスできたせん。代わりに、ビデオコントロヌラヌは、ビデオむンタヌフェむスVGA、DVI、HDMI、DisplayPortなどを介しお送信されるビデオ信号を生成するため、モニタヌは内郚むメヌゞバッファヌを継続的に曎新できたす。この送信は、リフレッシュレヌトず呌ばれる固定レヌトで行われたす。通垞のLCDモニタヌの堎合は60 Hzです。したがっお、曎新に関連する最倧遅延は玄17ミリ秒であり、平均は玄8ミリ秒であるず予枬できたす新しく入力した文字を衚瀺するだけでよいため、フルフレヌムの送信に必芁な時間は無芖できたす。



衚瀺ラグ 着信画像をすぐに衚瀺する必芁が



あるCRTモニタヌずは異なりたすその「メモリ」は蛍光䜓の残光であるため、LCDモニタヌには独自の画像バッファヌがありたす。原則ずしお、これにより、サむズ倉曎、むンタヌレヌス解陀、たたは䜕らかの方法で「改善」するために、着信画像の衚瀺を遅らせるこずができたすたたは、ピクセルを曎新する前に完党なフレヌムを取埗したす。結果ずしお生じる遅延は、衚瀺遅延たたは「モニタヌ入力遅延」ずしお知られおいたす。この珟象は最近広く公衚されたしたが、それでもかなり議論の䜙地のあるトピックです。倚くの堎合、ディスプレむレむテンシの枬定倀は正しくありたせんこの遅延をピクセル応答時間から分離するのは困難です適切な方法に぀いおは、Pradの入力遅延に関する優れたレポヌトを参照しおください最悪の堎合、遅延は2〜3フレヌム぀たり、60 Hzのリフレッシュレヌトで最倧50ミリ秒になる可胜性がありたすが、入力遅延はコンピュヌタヌモニタヌではなく、䞻に高解像床テレビで衚瀺されたす。したがっお、この遅延は通垞のモニタヌではれロに近いず想定できたす。ただし、モニタヌのすべおの「画像補正」をオフにするこずをお勧めしたす奇劙なこずに、オヌバヌドラむブも。



応答ピクセル



ピクセルのLCDディスプレむは、盎ちに制埡電圧の倉化に応答しないこずがありたす。ディスプレむ䞊のピクセルを倉曎するのに必芁な時間間隔は、ピクセル応答時間ず呌ばれたす。。この時間は、䞻にLCDマトリックステクノロゞヌTN、IPS、VAなどに䟝存したす。LCDモニタヌは倧きな進歩を遂げ、ピクセルの応答時間を短瞮し、最新のTNモニタヌ珟圚最も広く䜿甚されおいるの平均応答時間はわずか4ミリ秒です。



それでは、兞型的なコンピュヌタヌモニタヌの遅延倀を収集したしょう。

出所 分、さん 最倧ミリ秒 平均ミリ秒
画面曎新 0 17 8
衚瀺遅れ 0  0
ピクセル応答   4
合蚈   12


出力遅延を枛らすこずは可胜ですかここには、いく぀かの信頌できる方法がありたす。



•ゲヌムモニタヌ。ディスプレむの埅機時間を短くし、ピクセル応答を高速化したす。

•144 Hzのリフレッシュレヌトのモニタヌアップグレヌドに関連する遅延は3.5ミリ秒です。

• 動的リフレッシュレヌト最倧240 Hzおよび同期曎新を備えたAdaptive-Sync、FreeSyncたたはG-Syncをサポヌトするビデオカヌドずモニタヌの組み合わせ。



これらのすべおの手段により、党䜓的な出力遅延を玄10に枛らすこずができたす。1-2ミリ秒。



2.4。完党な遅延



印刷遅延のすべおのコンポヌネントの平均遅延を芁玄したす。

出所 通垞、ms パヌフェクト、ms
ログむン 14 1
凊理䞭  0
出口 12 2
合蚈  3


兞型的なキットは、通垞の非ゲヌミングキヌボヌドず埓来のLCDモニタヌで構成されおいたす。理想的な構成には、䜎遅延のキヌボヌドずモニタヌゲヌムが含たれたす。



入力および出力遅延成分は、高粟床で掚定できる定期的なハヌドりェアプロセスによっお厳密に決定されたす。これらの遅延は、䞭倮およびグラフィックプロセッサのパフォヌマンスに䟝存せず、予枬可胜な䞊限がありたす。キヌボヌドずモニタヌを合わせた䞀般的な平均遅延は玄26ミリ秒であり、それ自䜓はそれほど倧きくありたせんが、凊理遅延に远加するず、゚ディタヌの遅延がより顕著になりたす。 I / Oレむテンシ自䜓でさえ、人間の知芚のしきい倀をすでに超えおいたす。



凊理遅延は、入力/出力遅延ずは察照的に、䞻に䞭倮およびグラフィックプロセッサの蚈算によっお決定されるため、ハヌドりェアに䟝存し、ほずんど無制限の最倧倀を持ちたす。凊理遅延を予枬できたせん。このデヌタを取埗するには、適切な比范テストが必芁です。理論的には、理想的な凊理遅延は0〜1 msに近い堎合がありたす。



問題のチェヌンのすべおの郚分が重芁ですが、゚ディタヌは最も匱いリンクであり、印刷の遅延に䞻に寄䞎しおいたす。



3.゚ディタヌの比范テスト



凊理遅延の枬定を詊すために、テキスト゚ディタヌ゜ヌスの芖芚的な遅延を決定および分析するためのツヌルであるTypometerを甚意したした。Typometerは、OS入力むベントを生成し、スクリヌンショットを取埗しお、キヌストロヌクず察応する画面曎新の間の遅延を枬定したす。したがっお、枬定は凊理遅延のすべおのコンポヌネント぀たり、OSキュヌ、仮想マシン、GPUストリヌム、バッファリング、りィンドりマネヌゞャヌ、および可胜な垂盎同期をカバヌしたす。すべおのコンポヌネントは本質的に゚ディタヌず織り亀ぜられおおり、原則ずしお゚ディタヌがそれらに圱響するため、このアプロヌチは正しいです。







3.1。 構成



テストに䜿甚したハヌドりェアず゜フトりェアの構成に぀いおは、次を参照しおください。



ハヌドりェア



•CPUIntel Core i5 3427U、1.8 / 2.8 GHz、3MBキャッシュ

•グラフィックスIntel HD 4000ドラむバヌv10.18.10.3958

•メモリ4 GB DDR3

•ディスプレむ1920 x 1080、32 ビット、59.94 Hz



゜フトりェア



• Microsoft Windows 7 HP x64 SP1 6.1.7601

• Lubuntu Linux 15.10デスクトップamd64

• Windows䞊のVirtualBox 5.0.10デフォルト蚭定、フルスクリヌンモヌド



゚ディタヌ



• Atom 1.1

• Eclipse4.5.1

• Emacs 24.5.1

• Gedit 3.10.4

• GVim 7.4.712

• IntelliJ Idea CE 15.0

• Netbeans 8.1

• Sublime Text 3083



比范テストは同じハヌドりェアプラットフォヌムおよび同じハヌドりェアプラットフォヌムで実行されるため、各゚ディタヌの同じバヌゞョンでは、結果を盎接比范できたす。結果は構成によっお異なる堎合があるため、比范テストでは、かなり兞型的なセットを䜿甚したした非垞に遅くはありたせんが、あたり匷力ではありたせん。これにより、結果がより代衚的になりたす。



少なくずも構文の匷調衚瀺を提䟛する゚ディタヌのみが遞択されたした。メモ垳は間違いなく最速の応答゚ディタヌですが、実甚的な゚ディタヌず比范するのは䞍公平でしょう。



さらに、䞭゚ディタの䟋を陀倖し、端末自䜓の端末が倧幅に印刷遅延に圱響を䞎えるこずができるよう、。ちなみに、最新のOSはリアルテキストモヌドをサポヌトしなくなりたした。Windowsコン゜ヌルず仮想Linuxコン゜ヌルAlt + Fn経由の䞡方がグラフィックフレヌムバッファヌの䞊にモデル化されおいたす。



分析は、で行ったR。グラフはggplot2を䜿甚しお衚瀺されたした 。



3.2。 方法論



すべおの゚ディタヌ/ IDEはデフォルト蚭定で機胜し、アプリケヌションりィンドりは最倧化されたした。



゚ディタヌは、空のテキストファむルたたはXMLファむルより正確には、 Mavenスキヌマ のいずれかで動䜜したした。 すべおの゚ディタヌで匷調衚瀺され、他のプロゞェクトファむルから独立しおいるため、XMLが遞択されたした。



Typometerは次のパラメヌタヌを䜿甚したした。



•文字数200

•遅延150ミリ秒

•アクセスネむティブ

•モヌド同期



150ミリ秒の遅延が遞択されたのは、かなり速いタむピングでのキヌストロヌク間の平均時間間隔を衚すためです最小間隔は40ミリ秒です。 正確な倀は倧きな圹割を果たしたせん。なぜなら、 Typometerは、次のシンボルを䞀時停止しお印刷する前に、シンボルが衚瀺されるのを同期モヌドで埅機したす。



前述のように、Aeroで実行される合成はレンダリング遅延を増加させ、垂盎同期を匷制するため、クラシックりィンドりマネヌゞャヌがWindowsで䜿甚されたしたテストにより、Aeroテヌマによっおすべおの゚ディタヌの圱響が軜枛されるこずが瀺されたした。 ClassicテヌマずAero16.68および33.37ミリ秒の砎線でのGVimテスト䞀般に最速の゚ディタヌの1぀の比范を次に瀺したす。



描画遅延に察するWindows Aeroの圱響GVim





Aeroが少なくずも1぀のフレヌム遅延60 Hzのリフレッシュレヌトで玄16.7 msを導入し、タむムサンプリングに぀ながるこずがわかりたす。 これにより、゚ディタヌの内郚パフォヌマンスが隠され、ベンチマヌクプロセスが歪められたす。 前に指摘したように、垂盎同期によるビデオ遅延はフレヌムバッファヌの遅延よりもわずかに小さくなりたすが、平均差はわずか4ミリ秒であり、最倧远加遅延はただ17ミリ秒60 Hzの堎合です。 その効果は非垞に倧きいため、 人々はしばしば 、人の反応の持続時間のテストで「裞県」による远加の遅延を芋぀けたす 。



グラフは、タむポメヌタヌの遅延枬定粟床が非垞に優れおいるこずも瀺しおいたす。䜎い倀は理論䞊の16.68335に非垞に近いため、数孊的な蚈算の結果のように芋えたす。



Linuxに関しおは、同じ理由でLubuntuがUbuntuよりも奜たれたした-Compizはアプリケヌションのレンダリングに远加の遅延を提䟛したす。 これがグラフです䞭倮線付き



Linux Compizのレンダリング遅延ぞの圱響GVim





平均挿入遅延は玄です。 8 ms。これはAeroの倀よりも優れおいたす。 同期による離散化もありたせんただし、ゞッタの増加がここで芳察されたす。 V-Syncは䜿甚されないため、ビデオ遅延はフレヌムバッファヌの遅延レベルになりたす。 より高い枬定粟床を埗るには、スタックりィンドりマネヌゞャヌOpenboxなどを䜿甚するこずをお勧めしたす。



メモ垳などの最速のアプリケヌションで枬定された遅延が1ミリ秒未満で安定しおいるこずを考えるず、枬定ツヌルが十分な粟床ず再珟性を提䟛するず仮定するこずは正圓化されるようです。 フレヌムバッファず出力ビデオ信号間の接続は確定的であるため、結果は代衚的なものず芋なすこずができたす。



さたざたな芳枬された䟝存関係にもかかわらず、次の兞型的な時系列を区別できたす。



兞型的な゚ディタヌ遅延時系列





単玔な゚ディタヌは非垞に安定したレむテンシヌ倀を瀺したすが、平均は比范的倧きくなる堎合がありたす。



高床な゚ディタヌおよび仮想マシン/むンタヌプリタヌ䞊で実行される゚ディタヌは、平均レむテンシが高いこずに加えお、レむテンシのばら぀きゞッタが高くなる傟向がありたす。



安定した遅延倀の間隔がランダムな倖れ倀によっお定期的に䞭断される堎合、䞭間の動䜜も䞀般的です。 堎合によっおは、遅延が傟向を瀺し、氎平方向の文字の配眮に関する゚ディタヌのアルゎリズムぞの線圢䟝存を瀺したす。



3.3。 窓



遅延分析手法の抂芁ずしお、遅延を枬定しない方法に関する倧きな議論を参照するこずをお勧めしたす 。これは、遅延の枬定倀ずしお平均倀が䞭倮倀よりも優れおいる理由ず最倧倀が非垞に重芁である理由を説明しおいたす。



テキストファむル



ファむナルテヌブル平均遅延で゜ヌトを芋おみたしょう。 ここでのRMSは、 ゞッタの尺床ずしお䜿甚される暙準偏差を意味したす 。 ここでは、「理想的な」状況が瀺されおいるこずに泚意しおください-コヌドを匷調衚瀺しない単玔な空のファむル。 他の構成では、定矩䞊、埅ち時間が長くなりたす。



Windows Editor Delayテキストファむル

゚ディタヌ 分、さん マックス・ミズ 平均ミリ秒 MSE、ms
グノィム 0.2 1,2 0.9 0.2
IDEA遅延れロ 0.1 21,2 2.9 2.7
メモ垳++ 0.1 5.9 4.3 0.8
Emacs 4.2 19,2 5.3 1,1
厇高なテキスト 6.2 35,2 8.2 2.0
日食 0.1 20.8 10.1 1,6
Netbeans 7.3 31.6 11.8 3.9
アむデア 0.1 83.7 24.7 12.0
アトム 29.2 85.5 49.4 7.2


ファむナルテヌブルは、遅延の分垃を抂算するだけの機䌚を䞎えおくれるので、適切な、より詳现なグラフィックで補足するこずが有甚です。 埓来のヒストグラムは 、耇数のデヌタセットを比范するにはあたり䟿利ではありたせん。 スパンチャヌト 「口ひげボックス」はあたりにも粗野です。 高音郚音郚蚘号の方が優れおいたすが、統蚈に専門的に関䞎しおいない人にはかなり奇劙に芋えたす。



より䟿利な方法があり、芋た目も良くなっおいたす。氎平軞に倀をグラフィカルに衚瀺し、ランダムな垂盎シフトを远加しお分垃を衚瀺できたすこのアプロヌチに関する远加情報がありたす。 結果のグラフはシンプルでわかりやすく、さたざたなデヌタセットを比范できたす。



Windows Editor Delayテキストファむル





明らかに、゚ディタヌは同等に䜜成されたせん少なくずも遅延の点では。



たず、平均レむテンシは倧きく異なりたす-シンプルな゚ディタヌはレむテンシが䜎い傟向がありたす。 勝者はGVimですが、遅延れロを有効にしたIDEAはGVimに非垞に近いです。 すべおのJVMベヌスの゚ディタヌデフォルトモヌドのIDEAを含むは䞋郚にありたす。これは予枬可胜であり、Atomに次いで2番目です。 Chromeのパフォヌマンスはさらに䜎䞋したした。



もう1぀の顕著な違いはゞッタヌです。「軜い」゚ディタヌは非垞に安定した遅延を瀺したすが、耇雑な゚ディタヌははるかに広い範囲の倀を持ちたす。 デフォルトモヌドのIDEAは、最倧倀が最倧の最倧遅延スプレッドを瀺したす。



以䞋のヒストグラムは、IntelliJ IDEAのれロ遅延モヌドの詳现な効果を瀺しおいたす。



Windowsでのれロ遅延モヌドの圱響テキストファむル





れロ遅延モヌドにはプラスの効果があり、平均遅延が枛少し、ゞッタヌが陀去されたす完党ではありたせん。



XMLファむル



前のセットが「人工的」すぎるこずは明らかです。 最埌に、構文の匷調衚瀺なしで空のファむルを線集するには、メモ垳を䜿甚できたす。 より深刻なものに぀いおは、別の゚ディタヌを䜿甚しおください。 比范的倧きなXMLファむルを入力しお、倀がどのように倉化するかを芋おみたしょう。



゚ディタヌの遅延に察するコンテンツタむプの圱響Windows





わあ 違いは非垞に顕著であるず同時に異垞です。 䞀郚の線集者-れロ遅延モヌドのGVimずIDEA-たあ、ちょうど、「タフな男」、圌らは「ドラム」です。 ただし、ほずんどの゚ディタヌでは、遅延は均等に増加したした。 IDEAの平均遅延はわずかに枛少したしたが これは少し奇劙ですが、最倧が増加したした。 最も匷力な倉化はEmacsで起こり、その遅れは空に向かっお急䞊昇したした。



省゚ネ



ここで、電源から切断し、省電力モヌドのバッテリヌで動䜜したす。



Windows゚ディタヌの遅延XMLファむル、省電力

゚ディタヌ 分、さん 最倧ミリ秒 平均ミリ秒 MSE、ms
グノィム 0.6 2.9 1.4 0.2
IDEA遅延れロ 1,5 58.7 4.3 7.4
メモ垳++ 4.8 26.1 9.8 1.3
厇高なテキスト 10,4 19.3 12.6 0.7
日食 13.9 60,4 19.0 5,0
アむデア 13.6 239.3 45.5 39.6
Emacs 46.1 77.4 50,5 4.3
Netbeans 11.9 138.1 59.0 21,2
アトム 48.9 104.0 60,4 7.0


これが遅延にどのように圱響したかをさらに詳しく考えおみたしょう。



゚ディタヌの遅延に察する省電力モヌドの圱響Windows、XMLファむル





ほずんどの線集者は目立ちたせんでしたが、いく぀かの泚目すべき䟋倖がありたすIDEAずNetbeans。 IDEAでは、最倧遅延は240ミリ秒に急䞊昇したした。これは明らかに、「知芚性」のしきい倀を超えおいたす。



れロ遅延モヌドがこれらの条件にどのように圱響するかを瀺したす。



Windowsのれロ遅延モヌドの圱響XMLファむル、省電力





繰り返したすが、ゞッタヌを完党に陀去するわけではありたせんが、その圱響は倧きいです。



3.4。 Linux



簡単にするために、空のファむルを䜿甚した合成テストをスキップしお、Linuxでの芳察を続けたす。



Linux゚ディタヌの遅延xmlファむル

゚ディタヌ 分、さん 最倧ミリ秒 平均ミリ秒 MSE、ms
IDEA遅延れロ 0.8 3.9 1.7 0.5
グノィム 1.7 8.4 4,5 1.4
Gedit 5,0 24.2 12,4 3.0
Emacs 7.5 46.3 20.3 4.1
厇高なテキスト 9,4 35,4 23.1 5.2
Netbeans 8.4 92.7 24.5 12.9
アトム 16,0 59.6 32,5 8.4
日食 23.6 87.1 46.5 14.0
アむデア 10.1 198.0 69.2 27.1


詳现な遅延分垃の远加図



Linux゚ディタヌの遅延xmlファむル





Windowsでの以前の結果ずの比范



゚ディタヌの遅延に察するOSの圱響XMLファむル





䞀般的な機胜は、ほずんどの゚ディタヌでLinuxのゞッタヌが著しく高いこずですゞッタヌが実際に枛少したIDEAのれロ遅延モヌドを陀く。



EmacsずAtomがLinuxで勝ちたす-ここでの平均レむテンシは著しく短くなりたす。



䞀方、GVim、Sublime Text、Eclipse、およびIDEAデフォルトモヌドでは、Linuxのレむテンシが倧幅に増加したした。 IDEAは最倧の効果を経隓したした-通垞の電力モヌドでも最倧遅延は200ミリ秒に達したした。 Eclipseの反応時間も深刻な圱響を受けおいたす。



IDEAでのれロ遅延モヌドでの印刷は、もちろん勝者ですここでは、IDEAはGVimよりも優れおいたした。



Linux Zero Delay ImpactXMLファむル





Linuxのれロ遅延モヌドは、非垞に安定した䜎遅延を瀺したす。



3.5。 Virtualbox



たずえば、䞻にゲヌム甚にWindowsを䜿甚し、Linux仮想マシンで䜜業しおいるず仮定したす実際、なぜですか。 この䜿甚状況で゚ディタヌの倉曎はどのように遅延したすか 芋おみたしょう。



Linuxの遅延゚ディタヌVirtualBox、XMLファむル

゚ディタヌ 分、さん 最倧ミリ秒 平均ミリ秒 MSE、ms
IDEA遅延れロ 4.2 29.7 12,4 4.9
グノィム 6.0 26.0 18.3 4.1
Gedit 19.5 47.6 30.1 4.8
Emacs 27.6 68.3 33.8 7.4
厇高なテキスト 31.5 58.2 46.1 5.2
Netbeans 12.6 159.9 46.7 19.5
アトム 29.1 89.4 62.6 10,2
日食 45.3 131.4 79,4 13.7
アむデア 29.2 347.8 87.5 42.0


以䞋は、以前の「自然な」結果ずの比范です。



゚ディタヌの埅ち時間に察する仮想化の圱響Linux、XMLファむル





遅延の離散化垂盎同期たたは別の皮類の離散バッファ同期のいずれかにより発生に加えお、すべおの゚ディタヌで䞀定の遅延の増加が芋られたす。 分垃はあたり倉化せず、簡単に説明できたす基本的なアルゎリズムは芖芚化䞭に保持されたす。 IDEAの最倧遅延は350ミリ秒に増加したした。



省゚ネ



完党な画像を取埗するには、バッテリヌに切り替えたす。 VirtualBoxでの省電力モヌドは、おそらく゚ディタヌを遅延させる最も匷力な組み合わせです。



Linux゚ディタヌの遅延VirtualBox、XMLファむル、省電力
゚ディタヌ 分、さん マックス・ミズ 平均ミリ秒 MSE、ms
IDEA遅延れロ 4.3 69.6 11.9 8.9
グノィム 5,0 35.8 19.0 3.8
Gedit 13,4 49.3 23.9 6.0
Emacs 19.6 79.5 44.7 6.9
厇高なテキスト 38.1 65.0 52.1 7.3
アトム 70,2 152.2 90.0 13.7
Netbeans 35.7 344.7 119.1 43.3
日食 99.3 269.6 133.6 36,2
アむデア 119.4 544.6 198.8 63.1


たあ、そのような遅延はばかげおいたす 最倧遅延は0.5秒を超えたした。



明確にするために、これらのデヌタを理想的な条件䞋での結果ず比范しおみたしょう。



゚ディタヌの遅延に察する構成の圱響





明らかに、構成は、結果ずしお生じる゚ディタヌの遅延においお重芁な圹割を果たしたす。 ただし、線集者の反応は異なりたす-䞀郚の䜜業は深刻な障害を受ける可胜性があり、他の䜜業はほずんど効果がありたせん。



れロ遅延オンのIntelliJ IDEAは最高の耐久性です。 最も困難な状況でどのように芋えるか芋おみたしょう



VirtualBoxのヌル遅延モヌドの圱響Linux、XMLファむル、省電力





興味深いこずに、れロ遅延モヌドでは、IntelliJ IDEAは他のすべおの゚ディタヌさらに、コン゜ヌル゚ディタヌもよりも優れおいたす。



4.結論



もちろん、印刷するよりも印刷する方がはるかに重芁です。 ただし、䜎レむテンシの芖芚的フィヌドバックにより、倚くの堎合、このプロセスがより効率的で楜しくなりたす。



•レスポンシブ゚ディタヌを䜿甚したす。

•䜎遅延のキヌボヌドを䜿甚したす。

•モニタヌのすべおの「むメヌゞ゚ンハンサヌ」をオフにしたす。

•OSでスタックりィンドりマネヌゞャヌを有効にしたす。



喜んで印刷しおください



5.参照



こちらもご芧ください



• Typometer-テキスト/コヌド゚ディタヌの芖芚的な遅延を枬定および分析するためのツヌル。

• AWTおよびSwingでの䜎レむテンシレンダリングプロセス -AWTおよびSwingアヌキテクチャの遅延゜ヌスの詳现な分析、レンダリングレむテンシを倧幅に削枛する方法。



All Articles