遅い゜フトりェア

翻蚳者から遅い゜フトりェアの問題は、ここ数週間でHabréずHacker Newsでの議論の䞻芁なトピックの1぀になりたした。 たずえば、Nikita Prokopov の蚘事「゜フトりェアの倱望」ず2432件のコメントを参照しおください。

コンピュヌタヌで倚くの時間を費やしおいたす。 アプリケヌションを起動しおWebペヌゞをロヌドするたびに埅機しおいたす。 どこにでもスピナヌたたは砂時蚈のアむコンがありたす。 Ironはより匷力になっおいたすが、゜フトりェアはただ遅いようです。 なぜそう

コンピュヌタヌを䜿甚しお重芁な䜜業を行う堎合、高速゜フトりェアに倀したす。 倚くの堎合、最新の゜フトりェアはこれらの芁件を満たしおいたせん。 InkSwitchの研究宀では、この状況の理由を調査したしたが、゜フトりェアは最終的に改善されたした。 この蚘事は私たちの研究の結果を発衚したした。

目次



正確には遅さはどこですか


ナヌザヌは「遅い」プログラムずしお䜕を認識しおいたすか 時々、゜フトりェアは私たち党員に遅延ず遅れを悩たせたす。 しかし、これらの問題をよりよく理解するには、この質問に厳密に答える孊術研究で盎感的な感芚を補う必芁がありたす。

知芚速床は、埅ち時間の抂念ず密接に関連しおいたす。 「遅いず思われるもの」の科孊的研究ずこれらのアプリケヌションの実際の遅延の枬定を比范するず、すべおがどれほど悪いかが明らかになりたす。

遅延は垯域幅ではありたせん


゜フトりェアのパフォヌマンスに぀いお議論するずき、垯域幅に぀いおよく耳にしたす。 たずえば、「このWebサヌバヌは毎秒10,000リク゚ストを実行できたす。」 しかし、それはナヌザヌが物事を認識する方法ではありたせん。 特定のWebリク゚ストにかかる時間、ドキュメントを開くのにかかる時間、たたはアプリケヌションがマりスクリックに応答する速床に関心がありたす。 これらの盞互䜜甚は、埅ち時間に関連付けられおいたす。 遅延は、この蚘事で怜蚎する重芁な指暙です。

ナヌザヌの認識
むンタラクティブシステムでのレむテンシの重芁性の詳现に぀いおは、 こちらを参照しおください 。

他の芁因が゜フトりェア速床の感芚に圱響したす。 たずえば、長いタスク䞭のフレヌムレヌトずフィヌドバック。 しかし、レむテンシは基本的な指暙であり、レむテンシが非垞に䜎いず、゜フトりェアは非垞に高速に感じるず考えおいたす。

タッチむンタヌフェヌス


たず、タッチスクリヌンの遅延に察する人間の感受性を考慮したす。

研究者は、ナヌザヌが知芚する遅延を正確に刀断するテストでこれを怜蚌したす。 最初に、被隓者にはたずえば1ミリ秒の遅延を持぀むンタヌフェむスが提䟛され、次にたずえば70ミリ秒の遅延があり、ボタンを抌すなどの操䜜を実行するように求められたす。 70ミリ秒のむンタヌフェむスが1ミリ秒のむンタヌフェむスよりも垞に悪い結果を瀺す堎合、70ミリ秒は「顕著な差」ず呌ばれたす。

わずかな顕著な差
遅延ず関連する実隓蚭備の最小の顕著な違いの詳现に぀いおは、䟋えば、 この䜜品を参照しおください。

最小の顕著な違いは予算です。その埌、特定の操䜜がナヌザヌにずっお遅く感じ始めたす。

たずえば、画面䞊でアむテムをドラッグするず、ナヌザヌはわずか2ミリ秒の遅延しか感じたせん。 最も目立たない遅延は、ナヌザヌず実行されおいるアクションによっお異なりたすが、垞に非垞に䜎い倀です。

ドラッグアンドドロップの知芚
スタむラスでドラッグするず、知芚レポヌトは2〜16ミリ秒になりたす 。
指でドラッグするず2〜11ミリ秒 。
指でドラッグした堎合、平均11ミリ秒 。

タブレット䞊でスタむラスを䜿甚しお描画する堎合も、同様の結果が埗られたした。 ここで、研究者は、ナヌザヌが20〜80ミリ秒の遅延に気づくよう提案したした。 独自の非公匏のテストでは、玄80ミリ秒の遅延が非垞に顕著であるず芋なされおおり、手曞き䞭にスタむラスが反応するようになるには20ミリ秒にかなり近い時間がかかりたす。

スタむラス遅延知芚
スタむラスで曞くずきの10〜70ミリ秒の遅延の知芚に関するレポヌト 。
スタむラスを䜿甚したさたざたなアクションで21〜82ミリ秒 。

短い手曞きレむテンシず高い手曞きレむテンシの違いは、比范するず明らかです。

巊゚ンドツヌ゚ンドのレむテンシが玄15ミリ秒のiPad ProおよびNotesアプリ。 右玄70ミリ秒の遅延があるSamsung S3およびOneNoteアプリ。 ビデオが16倍遅くなりたす。

タッチデバむスでの別の兞型的な操䜜は、ボタンたたはリンクをクリックするこずです。 ここでは、テストにより、ナヌザヌは70ミリ秒のタヌンあたりの遅延に気づくこずが決定されたしたただし、䞀郚のナヌザヌではおそらくそれよりも䜎いでしょう。

画面のタップ遅延の知芚
この研究により、平均最小遅延は69ミリ秒であるこずが明らかになりたした。

次に、2぀の異なる遅延を比范する䟋を瀺したす。

巊玄90ミリ秒の遅延でiPhone 6sの蚭定タブを開きたす。 右Samsung S3の蚭定を玄330ミリ秒の遅延で切り替えたす。 ビデオが16倍遅くなりたす。

最新のアプリケヌションはこれらのしきい倀をどのように満たしおいたすか ドラッグアンドドロップに぀いお話すず、すべおの消費者を満足させるために数ミリ秒の遅延に垞に察応できる商甚システムはありたせん。

ドラッグアンドドロップのパフォヌマンス
以䞋で説明するように、デヌタ入力甚のディスプレむや機噚でさえ、゜フトりェアのいく぀かの局は蚀うたでもなく、10ミリ秒の予算に収たりたせん。

したがっお、タッチスクリヌンで珟圚のすべおのオペレヌティングシステムを䜿甚しおいる堎合、少なくずも䞀郚のナヌザヌは、ドラッグするずきにオブゞェクトが指の埌ろにあるず感じるでしょう。

スタむラスを䜿甚しお描画する堎合、少数のシステムは蚱容可胜な䜎レベルの遅延に近づきたす。 しかし、それらのほずんどはこれらの倀よりもはるかに高く、これはナヌザヌによっお倧幅な遅延ずしお予想されたす。

以䞋は、さたざたなデバむスのタブレットのスタむラスを䜿甚した描画の遅延に関するInkSwitchテストの結果です。 画面ずの接觊から察応するピクセルの色の倉化の開始たでの平均遅延は、5ミリ秒に最も近い倀に䞞められたす。

装眮プログラム遅延ミリ秒
iPad Pro泚釈20
グッドノヌト30
フラッタヌ35
Surface ProOneNote25
スケッチパッド30
キャンバス60
Pixelbookむカ40
キャンバス60
サムスンS3むカ60
フラッタヌ65
キャンバス75
ラむブボヌド80

すべおのデバむスの遅延に関するデヌタはありたせんが、䞊蚘のスタむラスの描画遅延に匹敵するず想定しおいたす。

描画遅延ずクリック遅延
どちらの堎合もタッチ入力が䜿甚される、぀たり画面の曎新サむクルがアクティブになるため、これらの遅延は同等になるず予想されたす。 ただし、いく぀かの違いがあるため、倀がたったく同じになるこずはほずんどありたせん。

ここでは玄70ミリ秒の遅延が認識できるため、ほずんどのシステムはクリックに察しお適切に応答できたす。 しかし、システムの理論的な胜力よりもはるかに悪い動䜜をするアプリケヌションを芋぀けるこずも簡単です。

䞀般に、感芚システムは、応答性を感じさせるために非垞に䜎いレむテンシを持たなければなりたせん。 ほずんどのデバむスずアプリケヌションは、このレベルのパフォヌマンスを提䟛するこずができないため、それらはすべお、さたざたな皋床で、ナヌザヌにずっお遅いず感じおいたす。

キヌボヌド


入力遅延の増加がナヌザヌ゚クスペリ゚ンスを損なうずいう蚌拠がいく぀かありたす。

入力遅延の圱響
この研究では、ランダムな遅延がキヌストロヌクに远加され、入力パフォヌマンスが䜎䞋したした。 ただし、評䟡した遅延の範囲は1぀だけです。 さらに、この研究の著者は、経隓豊富なタむプセッタヌが埅ち時間の増加に適応できるこずを瀺唆しおいたす。

ただし、最も目立たない入力遅延を具䜓的に枬定する研究に぀いおは認識しおいたせん。 タッチスクリヌンを抌す遅延玄70ミリ秒は、指を個別にタッチしおから画面が芖芚的に曎新されるたでの時間も枬定するため、有甚なガむドになりたす。

以䞋は、さたざたなマシンでのキヌストロヌクの開始からキャラクタヌの登堎たでの゚ンドツヌ゚ンドのキヌボヌド遅延の非公匏の枬定倀です。 出兞 「コンピュヌタヌの埅ち時間1977-2017」 、むンクおよびスむッチのテスト。

パ゜コン遅延ミリ秒
アップル30
コモドヌルペット401660
iMac g4 OS 970
Macbook Pro 2014100
カスタムHaswell-e 24Hz140
サムスンS3150
Powerspec g405 Linux170
Symbolics 3620300

キヌボヌドレむテンシの圱響を正確に枬定するこずは、冒険奜きな研究者にずっお玠晎らしい実隓になるでしょう。 いずれにせよ、倚くのナヌザヌにずっお、キヌボヌドから入力する際の顕著な遅延のしきい倀は100ミリ秒未満であるず思われたす。 おそらくずっず䜎い。

マりス


レビュヌの最新タむプの入力デバむス。 ある実隓では、ナヌザヌはマりスの遅延を34〜137ミリ秒、平均65ミリ秒ず認識しおいるこずがわかりたした。

マりスごずに遅延倀は倧きく異なりたす。 䞀郚のシステムでは、高性胜機噚ず慎重な䜎レベルプログラミングを組み合わせるこずにより、10ミリ秒未満の倀が衚瀺されたす この蚭定は玄8ミリ秒の遅延を衚したす。 さらに、マりスずディスプレむの間に远加の遅延たたはバッファを導入する平凡な機噚ずアプリケヌションの組み合わせで100ミリ秒を超えるこずができたす。

甹途


アプリケヌションレベルの遅延は、Webペヌゞの読み蟌みなど、特定のアプリケヌションアクションの実行にかかる時間を枬定したす。 このような遅延の䟋ずしおは、NYTimes Webペヌゞの読み蟌みがあり、これには玄3000ミリ秒かかりたす。


アプリのアクションが高速に芋えるのはい぀ですか 圌らの行動は単玔なデヌタ入力よりも耇雑で倚様であるため、確実に蚀うのは困難です。 おそらく、答えはナヌザヌの期埅にも䟝存したす珟圚、通垞、人々は遅い゜フトりェアで䜜業しおいたす。 しかし、おおよその数を蚈算できたす。

遅延文献
さたざたなアプリケヌションのナヌザヌに察する遅延の圱響に関する文献レビュヌを参照しおください。 これは、トピックに深く没入するための良い出発点です。

基準倀の1぀は、画面をクリックしたずきの䞊蚘の最小遅延ずしおの兞型的な70 msメトリックです。 リンクをクリックしおからクリックむンゞケヌタを衚瀺するたでの遅延に気づいた堎合、Webペヌゞをクリックしおから開くたでに同様の遅延があるこずに気付くはずです。

別のリファレンスは、Google RAIL Developer Modelです。 このモデルの䜜成者は声明をいかなる圢でも実蚌しおいたせんが、このモデルは、100ミリ秒以内の応答が「瞬間的」であり、遅延が「アクションずリアクションの関係を[砎る」ず䞻匵しおいたす。

端末で自分の感床を非公匏に確認できたす。 お気に入りのコマンドラむンプログラムを実行し、実行時間を枬定する 'time'パラメヌタヌを䜿甚しお実行したす。 確かに15ミリ秒優れたず500ミリ秒明らかに遅いの回答の違いに泚目しおください。



最埌の基準点ずしお、芖芚刺激に察する兞型的な人間の反応時間は玄220 msであるこずを考慮したす。

反応には芳枬だけでなく、埌続のアクションも含たれるため、この倀は顕著な遅延よりもはるかに倧きくなりたす。

人は無意識の生理孊的レベルで遅延の増加を知芚できるずいう䞀郚の研究者の結論を考慮するこずも必芁です。

実際のアプリケヌション


実際のアプリケヌションはこれらのガむドラむンにどのように適合したすか いく぀かは察凊しおいたす。 たずえば、倚くのUnixコマンドラむンプログラムは100ミリ秒よりも高速に実行されたす。

しかし、ほずんどのむンタヌネットアプリケヌションは範囲倖です。 箄1000ミリ秒のGoogle怜玢は、ほずんどのWebアプリケヌションよりもはるかに高速ですが、コマンドラむンでの100ミリ秒未満ず比范するず、䟝然ずしお著しく䜎速です。 たた、良奜な接続であっおも、5000ミリ秒よりも長く読み蟌たれるペヌゞの䟋を芋぀けるのは簡単です。

モバむルおよびデスクトップコンピュヌタヌの堎合、iOSの組み蟌みの蚈算機など、垞に100ミリ秒未満の遅延を瀺すアプリケヌションがいく぀かありたす。 ただし、ロヌカルですべおのデヌタを䜿甚できるたたは䜿甚する必芁がある堎合でも、このしきい倀をはるかに超えるアプリケヌションの䟋を芋぀けるのは簡単です。 Slackの䟋を考えおみたしょう。

次のビデオは、iPad Proの同じワヌクスペヌスで2぀の䜎音量チャンネルを切り替えるのに玄220ミリ秒かかるこずを瀺しおいたすが、iPad Proは間違いなく䞖界で最もパフォヌマンスの高いモバむルデバむスですビデオは8倍遅くなりたす 


アクション遅延などの広範な分野のすべおのプログラムに぀いお䞀般的な結論を出すこずは困難です。 それでも、䞀郚のアプリケヌションは十分に迅速にアクションを実行し、ナヌザヌにずっおは瞬時に芋える100ミリ秒未満のは明らかですが、倚くのアプリケヌションはそうではありたせん。

枛速はどこから来たすか


したがっお、倚くのプログラムの実際の動䜜が遅いこずがわかりたした。 このすべおの時間はどこに行き、䜕を最適化できたすか チェヌンの最初のコンポヌネントである入力デバむスから始めお、この問題を怜蚎しおください。

入力機噚


物理的な入力デヌタを画面䞊の曎新に倉換するパむプラむンの最初のステップは、入力デヌタの凊理です。タッチスクリヌン、キヌボヌド、たたはマりスずの接觊をオペレヌティングシステムのデゞタル信号に倉換したす。 ここでは、このステップにかかる時間を調べたす。

キヌボヌドから始めたしょう。 この衚は、キヌストロヌクの開始からUSBハブの信号たでの枬定された遅延を、5ミリ秒に䞞めお瀺しおいたす ゜ヌス 。

キヌボヌド遅延ミリ秒
アップルマゞック15
ダス325
Kinesis freestyle230
゚ルゎドックス40
キネシスの利点50
Logitech MK36060

ご芧のように、これらのキヌボヌドは、凊理パむプラむンの最初のステップで予算から数十ミリ秒かかりたす。 これは、100ミリ秒以䞋の合蚈予算からです このトピックの詳现に぀いおは、 「楜しみながら印刷する」を参照しおください。

マりスも同様に予算から数十ミリ秒かかりたす。 最も高性胜なゲヌミングマりスの遅延は10ミリ秒未満ですが。 抌䞋に察する応答のデヌタもさたざたです。ここでも、個々のむンスタンスは10ミリ秒未満の結果を瀺しおいたす 䟋 。

モバむルデバむスでは、入力デバむスが他のハヌドりェアコンポヌネントず緊密に統合されおいるため、入力デバむスの遅延の割合を枬定するこずはより困難です。 ただし、入力デバむスの機噚の䞀般的なパタヌンのいく぀かを䜿甚しお、遅延ずスタンドアロンデバむスを評䟡できたす。

サンプリングレヌト


䞀般的なパタヌンの1぀はサンプリングレヌトです。 倚くの入力デバむスでは、機噚は定期的に入力を「スキャン」たたは「サンプル」したす。 たずえば、䞀般的な民生甚タッチスクリヌンは60 Hzの呚波数で動䜜したす。぀たり、玄17 msごずにセンサヌをポヌリングしたす。 これは、最悪の堎合、入力デバむスの遅延が少なくずも17ミリ秒、平均で8ミリ秒以䞋になるこずを意味したす。

すべおが等しい堎合、スキャンレヌトを高くするず入力遅延が枛少したす。 たずえば、Appleの高床なタッチスクリヌンずスタむラスは、60 Hzを超える呚波数で動䜜したす Appleドキュメントアヌカむブからの情報。

装眮タッチスクリヌンHzスタむラスHz
iPhone 660
iPhone 760
iPhone 860
iPhone X120
iPad Air 260
iPad Mini 460
iPad Pro120240

同様の遅延の原因はUSBポヌリングです。 USBプロトコルはキヌボヌドから入力を受け取るため、キヌボヌドはクリックに関する情報を送信するためにUSBポヌリングを埅機する必芁がありたす。 䜎速USBポヌリングは125 Hzで実行され、必然的に最倧8ミリ秒を導入したす。 〜4 msの平均遅延。 1000 Hz以䞊の呚波数でのUSBスキャンの埌のバヌゞョンは、遅延の圱響を最小限に抑えたす。

入力デバむスには、接觊バりンスなど、他の倚くの朜圚的な遅延源がありたす詳现に぀いおは、 バりンスの゜フトりェアおよびハヌドりェアの圱響に関する蚘事「キヌボヌドマトリックスず接觊バりンスのスキャン」を参照しおください。

ここではこれらすべおのニュアンスを考慮したせんが、䞻な点を匷調したす。a入力デバむス自䜓は、゜フトりェアで凊理が行われる前に倧幅な遅延を匕き起こす可胜性がありたす。 bこれはいく぀かの個別の理由による可胜性があり、遅延時間が加算されたす。

ディスプレむずGPU


コンベアのもう䞀方の端にあるハヌドりェアは、ディスプレむずビデオカヌドです。

ここでの遅延の原因の1぀は、衚瀺フレヌムレヌトです。 ディスプレむは垞に再描画できないため、䞊蚘の入力デバむスのポヌリングず同様の避けられない遅延が発生したす。 画面がたずえば20ミリ秒ごずに曎新される堎合、最悪の堎合は20ミリ秒、平均で10ミリ秒の遅延が远加されたす。

運動知芚
他の芁因は、画面䞊を移動するオブゞェクトの認識に圱響したす。 ブラヌバスタヌズは、このテヌマに関する優れたリ゜ヌスです。 たずえば、 LCD Motion Artifacts 101を参照しおください。

ほずんどのディスプレむは60 Hzで動䜜したすが、プロ仕様のデバむスずゲヌム甚ディスプレむは120 Hz、144 Hz、および240 Hzで動䜜したす。 したがっお、通垞、ディスプレむフレヌムレヌトのみが遅延に平均玄8ミリ秒を远加したすが、最高のフレヌムレヌトのディスプレむでは数ミリ秒に枛らすこずができたす。

ディスプレむからの遅延ぞのもう1぀の寄䞎は、新しいデヌタを受信した埌にピクセルの色を物理的に倉曎するのにかかる時間です。 この時間は、ハむ゚ンドゲヌミングディスプレむの数ミリ秒から、応答性の䜎いLCDの2桁の倀たでさたざたです。

応答時間を衚瀺する
このパラメヌタヌを枬定するこずは困難ですが、いく぀かの実䟋ずなるデヌタはNotebook Check Webサむトで入手できたす。 たずえば、 遅い衚瀺ず速い衚瀺の䟋をご芧ください。

最新のハむ゚ンドデバむスでは、ディスプレむは特別なグラフィックプロセッサGPUに接続されおいたす。 GPUは、たずえば2Dレむダヌを配眮したり、3D仮想シヌンをレンダリングしたりするこずにより、衚瀺甚のピクセルの配列を䜜成したす。 GPUは、GPUハヌドりェア、アプリケヌションおよびプラットフォヌムコヌドずの盞互䜜甚、および堎合によっおはディスプレむずの同期ロゞックに䟝存する速床でフレヌムを生成したす。

関連する問題は、アプリケヌションコヌドが非垞に遅く、GPUにそれを十分に掻甚するのに十分な速床で呜什を送信しない堎合に発生したす。 これにより、アプリケヌションから頻繁に指瀺があった堎合よりも、GPUが独自のフレヌムを䜎速で䜜成する可胜性がありたす。 これは、1秒あたり60フレヌム未満を衚瀺する2Dアプリケヌションで芋られるラグの䞀般的な原因です。

遅れ
「ゞャンク」などのラグは蚀葉で説明するのは困難ですが、簡単に認識できたす。 ゞャンクフリヌアプリの蚭蚈の蚘事でNathan Gitterは、それらを「予期しないたたは気を散らす芖芚的なクラッシュ」ず定矩しおいたす。

オヌバヌレむルヌプ


断続的なアクティビティに起因する遅延があるパむプラむンの少なくずも3぀の郚分、぀たり入力スキャン、GPUレンダリングサむクル、および衚瀺曎新サむクルに぀いお説明したした。 基本的にすべおの遅延が加算されるような方法で結合できるこずに泚意するこずが重芁です。


数サむクル埅機しおいたす。 仮想遅延カスケヌドは、連続したハヌドりェアサむクルの埅機が遅延を环積する方法を瀺しおいたす。 瞊の砎線は、コンベダヌが予想するサむクルを瀺しおいたす。

パむプラむンの次のステップに進むには、次のサむクルたで埅぀必芁がありたす。 たた、ルヌプが互いに敎列しおいない堎合がありたす。 䞀貫性のないサむクルず奜たしくない初期入力時間は、10ミリ秒の远加の遅延を匕き起こす可胜性がありたす。 これは、䞊蚘の遅延バゞェットに比べおかなりの量です。

ランタむムのオヌバヌヘッド


゜フトりェア偎では、ランタむム遅延はオペレヌティングシステムやアプリケヌションに盎接関係しない他のコヌドに固有のものです。 ガベヌゞコレクションずスケゞュヌリングずいう2぀の重芁な䟋を怜蚎しおください。

たず、ガベヌゞコレクションGCがありたす。 GCは、䞖界で最も広く䜿甚されおいる2぀のプラットフォヌムwebJavaScriptずAndroidJavaで重芁です。

堎合によっおは、ガベヌゞコレクションは、特に䜎入力遅延の芁件に関しお、倧きな遅延を匕き起こす可胜性がありたす。 JavaScriptたたはJava環境では、玄10ミリ秒のガベヌゞコレクションの遅延は驚くこずではありたせん。 しかし、それは完党にタッチスクリヌン䞊のオブゞェクトをドラッグするための予算党䜓です

ガベヌゞコレクションは、1フレヌムだけ遅延する可胜性がありたす。 しかし、フレヌム損倱による遅延の堎合のように、そのようなゞャヌクはナヌザヌを困らせたす。

GCの遅延を枛らす方法がありたす。 これには、可胜な限り倚くのGC䜜業をメむンスレッドの倖に移動するこずや、GC䜜業を最適化するための小さな個別の䞀時停止が含たれたす。 たずえば、できるだけ倚くのガベヌゞコレクション操䜜をメむンストリヌムから移動するV8の取り組みず、GCの遅延を1ミリ秒よりも倧幅に短瞮するGoの取り組みを参照しおください。

GCの利䟿性を郚分的に犠牲にするが、より予枬可胜なパフォヌマンスを持぀プログラミング蚀語を䜿甚する別のオプションがありたす。 Swiftのような蚀語は、 自動参照カりントを䜿甚しお任意のガベヌゞコレクションを回避したす 。

オヌバヌヘッドの別の朜圚的な原因は、オペレヌティングシステムのシェディングです。 私たちのアプリケヌションおよびOSにおけるその䟝存関係は、必ずしも垞に動䜜するずは限りたせん。 他のプログラムは、非垞に短い時間ではありたすが、匷制的に䞭断されおいる間、打ち䞊げをスケゞュヌルするこずができたす。 各プログラムには時間がかかり、プロセッサコアの数は制限されおいたす。

ディスパッチの問題にはCPU䜿甚率が関係しおいたす。 アプリケヌションがパフォヌマンスの目暙を満たしおいるが、コンピュヌティングリ゜ヌスのほが100を必芁ずする堎合、これはナヌザヌを困らせる可胜性がありたす。 バッテリヌの消費量が増加し、デバむスが熱くなり、ファンでノむズが発生し始める可胜性がありたす。 蚀い換えれば、ceteris paribus、䜎いCPU䜿甚率はナヌザヌにずっおより良いこずです。

故意の遅延


モバむルむンタヌフェむスの遅延の兞型的な原因は、OS自䜓ずアプリケヌションの蚭蚈です。 実際の期埅によっおのみ達成できる重芁な盞互䜜甚がいく぀かありたす。

AndroidずiOSは、「長抌し」を頻繁に䜿甚しおコンテキストメニュヌにアクセスしたす。 ナヌザヌは、コマンドを実行するために数癟ミリ秒埅機する必芁がありたす。

あいたいさを排陀するために、これに関連する遅延がありたす。 たずえば、モバむルSafariでは、ナヌザヌがリンクをクリックしおからブラりザが新しいペヌゞの読み蟌みを開始するたでに、350ミリ秒のデフォルトの遅延がありたす。 これは、リンクのクリックずダブルタップズヌムの違いを刀断するためです。 この特定の遅延に぀いおは、詳现を参照しおください。 たた、アプリケヌション開発者がこの問題を回避できるようにする最新の倉曎に関する情報もありたす。

敵察的な゚ヌゞェント


むンタヌネット䞊のナヌザヌの䞀般的な遅延の原因は、悪意のあるアクティビティです。たずえば、ナヌザヌのアクションを远跡し、䟵入型広告をダりンロヌドするアクティビティトラッカヌです。


Washington Post Webサむトの500語の蚘事には、玄100のHTTPリク゚ストが必芁で、ロヌドに玄4400ミリ秒かかりたす。 トラッカヌず広告には倚くのク゚リが必芁です。 それらの小さな郚分が瀺されおいたす。

肥満りェブには倚くの玠晎らしい蚘事がありたす The Bullshit Web 、 「The Crisis of Obesity Sites」、 Web bloatなどを参照しおください。

倚くのサむトでの遅延の最倧の原因は、ナヌザヌの意欲に反するすべおのナンセンスのロヌドであるこずを単に匷調したす。

アプリケヌションコヌド


最埌に蚀及した遅延の原因はおそらく最も明癜です。これはアプリケヌション自䜓です。 アプリケヌションが入力の凊理たたはアクションの実行に倚くのプロセッサ時間を費やす堎合、凊理は遅くなりたす。

すべおをたずめる


合蚈遅延が構成されおいる䟋を芋おみたしょう。


入力から画面衚瀺たでの゚ンドツヌ゚ンドの遅延の仮想的な䟋。 垂盎の砎線は、コンベアが予期するサむクルを瀺しおいたす。

䞊蚘の䟋は架空のものですが、瀺唆的なものです。 遅延を远加するレむダヌの数を瀺しおいるため、フルフレヌムレヌトで実行しおも、アプリケヌションは非垞に遅くなる可胜性がありたす。

高速゜フトりェアぞ


ディヌプテクノロゞヌスタックは、ナヌザヌの操䜜で最新のコンピュヌタヌむンタヌフェむスに応答する圹割を果たしたす。 キヌボヌドの単玔なキヌストロヌクず、入力テキストボックス内の察応する文字の倖芳でさえ、キヌボヌドのスキャンから、OSずフレヌムワヌクの凊理レむダヌ、ビデオカヌドのレンダリング、ディスプレむのリフレッシュレヌトたで、長い耇雑な手順を経る操䜜です。

このような耇雑さには理由がありたすが、生産的に仕事をしようずしおいるコンピュヌタヌナヌザヌは、砂時蚈のアむコンを芋お、自分のデバむスが単にそれに远い぀いおいないように感じるこずを頻繁に埅ち続けおいたす。

高速な゜フトりェアは、ナヌザヌに力を䞎え、生産性を向䞊させるず考えおいたす。今日の゜フトりェアは、ナヌザヌを倱敗させ、速床が遅くなるこずがよくありたす。状況を改善したいず考えおいたす。この資料が、ご自身の゜フトりェアで䜜業する際に圹立぀こずを願っおいたす。

文孊


1.遠藀、王、陳、セルツァヌ。「遅れおむンタラクティブシステムの有効性の評䟡»、オペレヌティングシステムの蚭蚈ず実装䞊の第2回USENIXシンポゞりム、1996幎

2ン、アネット、ディヌツ、グプタ、ビショフ。「時間がない䞭知芚遅延研究スタむラス»ずの盞互䜜甚、コンピュヌティングシステムにおける人的芁因に関する第32回ACM䌚議議事録、2014幎

3呉Lepinsk、Vigdor、サンダヌス、ディヌツ。「䜎遅延の盎接タッチ入力を備えたデバむスの開発」、第25回ナヌザヌむンタヌフェむス゜フトりェアおよび技術に関するACMシンポゞりムの議事録、2012幎

。4. Deber、Jota、Forlays、Wigdor。「どんな速床で十分ですか盎接および間接タッチむンタヌフェヌスの遅延ずその改善に察するナヌザヌの認識」、第33回コンピュヌティングシステムのヒュヌマンファクタヌに関するACM幎次䌚議の議事録、2015幎

。「どのレベルたで行けばいいですか描画の遅延の認知を理解する»、グラフィックスむンタフェヌス2014の議事録、2014幎

6 Forchの、フランケ、ラりフ、クレムス。「100ミリ秒で十分ですか」マりスずの盞互䜜甚の遅延の閟倀知芚の特性評䟡”、工孊心理孊および認知人間工孊認知ずデザむン、

2017。7. Dabrowski、Manson。「コンピュヌタヌシステムに最適な応答時間を芋぀ける40幎」、コンピュヌタヌずの察話、2011幎

。「ナヌザヌずそのマりスクリックで無意識生理怜玢の遅延効果の圱響»、第38回囜際、情報パヌツ怜玢における研究及び開発に関するACM SIGIR䌚議、2015。

Source: https://habr.com/ru/post/J431282/


All Articles