ЛСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ: 5 ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠ² Π»Π΅Π½ΠΈΠ²ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Lazy loading — Web Performance

Lazy loading (лСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°) — это стратСгия, направлСнная Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ рСсурсов ΠΊΠ°ΠΊ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… (Π½Π΅ критичСских) для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ этих рСсурсов Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹. Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ критичСских этапов Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния.

ЛСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ прилоТСния, Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΎΠ½Π° запускаСтся Π²ΠΎ врСмя взаимодСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ систСмы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ скроллингС ΠΈΠ»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ.

ВмСстС с ростом web-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ драматичСски вырос объСм ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ рСсурсов, отправляСмых клиСнтскому ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ. Π‘ 2011 ΠΏΠΎ 2019 ΠΌΠ΅Π΄ΠΈΠ°Π½Π½Ρ‹ΠΉ рост Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² рСсурсов вырос с ~100KB Π΄ΠΎ ~400KB для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ с ~50KB Π΄ΠΎ ~350KB для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ…. А Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ вырос с ~250KB Π΄ΠΎ ~900KB для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ со ~100KB Π΄ΠΎ ~850KB для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ….

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΡ‘ΠΌΠΎΠ² способствуСт ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ прилоТСния. Один ΠΈΠ· способов Π΅Ρ‘ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ — это ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ критичСски Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ для прилоТСния. НапримСр, Π²Ρ‹ посСщаСтС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ состоит ΠΈΠ· списка Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈ ΠΊΠΎΡ€Π·ΠΈΠ½Ρ‹. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ изобраТСния Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСйчас находится Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ экрана; ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ содСрТимом ΠΊΠΎΡ€Π·ΠΈΠ½Ρ‹ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡˆΡ‘Π» ΠΊ Π½Π΅ΠΉ.

ЛСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° (Lazy loading) ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ рСсурсам ΠΈ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌΠΈ.

ΠžΠ±Ρ‰ΠΈΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° (code splitting) JavaScript, CSS ΠΈ HTML ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° нСбольшиС части, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ‡Π°Π½ΠΊΠ°ΠΌΠΈ (chunks). ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ прилоТСния Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π΅ Ρ†Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ части, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ каркас Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Π”Π°Π½Π½Ρ‹Π΅ для заполнСния этого каркаса ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ ΠΏΠΎΠ·ΠΆΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ AJAX. Π•ΡΡ‚ΡŒ Π΄Π²Π° Π²ΠΈΠ΄Π° раздСлСния ΠΊΠΎΠ΄Π°:

  • Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ Π²Ρ…ΠΎΠ΄Π° (entrypoint)
  • ДинамичСскоС (dynamic import())

JavaScript

Π£ΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° «module» Π›ΡŽΠ±ΠΎΠΉ Ρ‚Π΅Π³ скрипта с type="module" рассматриваСтся ΠΊΠ°ΠΊ JavaScript module, Π° Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° откладываСтся ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

CSS

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ CSS считаСтся рСсурсом, Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ (render blocking). Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ построСна ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль CSS (CSSOM). ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ CSS-Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ нСбольшим, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ Π±Ρ‹Π» доставлСн Ρ‚Π°ΠΊ быстро, насколько это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мСдиавыраТСния, для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΠ³ΠΎ CSS-Ρ„Π°ΠΉΠ»Π° Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ спСциализированныС.

<link href="style.css"    rel="stylesheet" media="all">
<link href="portrait.css" rel="stylesheet" media="orientation:portrait">
<link href="print.css"    rel="stylesheet" media="print">

Π’Π°ΠΊΠΆΠ΅ Π² цСлях ускорСния CSS ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ (CSS optimizations (en-US)).

Π¨Ρ€ΠΈΡ„Ρ‚Ρ‹

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² откладываСтся Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΏΠΎΠΊΠ° Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€Π° (render tree) Π½Π΅ сформировано ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ тСкст страницы ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π½Π΅ сразу.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹ Π·Π°Ρ€Π°Π½Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ <link rel="preload">, CSS font-display свойство ΠΈΠ»ΠΈ Font Loading API (en-US).

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅: Element Link

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ

ΠžΡ‡Π΅Π½ΡŒ часто Π²Π΅Π±-страницы содСрТат мноТСство ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π½Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΊΠ°Π½Π°Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠŸΠΎΠ΄Π°Π²Π»ΡΡŽΡ‰Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ этих ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ находятся Π·Π° Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ экрана ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌ (non-critical), Π° для взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ дСйствия (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π΄ΠΎ Π½ΠΈΡ…).

Атрибут Loading Атрибут loading элСмСнта <img> (ΠΈΠ»ΠΈ loading (en-US) Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ для <iframe> (en-US)) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ / iframe Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ доскроллит Π΄ΠΎ Π½ΠΈΡ….

<img src="image.jpg" loading="lazy" alt="..." />
<iframe src="video-player.html" loading="lazy"></iframe>

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ load запускаСтся, ΠΊΠΎΠ³Π΄Π° всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ рСсурсы Π±Ρ‹Π»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹. Π’ это врСмя, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ вСроятно), Ρ‡Ρ‚ΠΎ изобраТСния Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹, Π΄Π°ΠΆΠ΅ Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ доскроллит Π΄ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π² visual viewport (en-US).

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π±Ρ‹Π»ΠΎ Π»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ Ρ‚ΠΎ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ² Boolean Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

complete (en-US).

ΠŸΠΎΠ»ΠΈΡ„ΠΈΠ» Для ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΡ… Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π΄Π°Π½Π½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»: loading-attribute-polyfill

Intersection Observer API Intersection Observers ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π²Π°ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΡ‹ΠΉ Π²Π°ΠΌΠΈ элСмСнт Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· Π·ΠΎΠ½Ρ‹ видимости Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (viewport).

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий (Event handlers) Intersection Observer API — ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ молодая тСхнология, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ. Если ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π²Π°ΠΆΠ½Π° для вас, Π΅ΡΡ‚ΡŒ нСсколько способов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Ρ‘:

  • polyfill intersection observer
  • Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ, находится Π»ΠΈ элСмСнт Π²ΠΎ viewport ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ срабатывании событий scroll, resize ΠΈΠ»ΠΈ orientation change.
  • Render blocking CSS
  • Optimizing loading and rendering
  • Lazy loading images and video

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.
Want to get more involved?

Learn how to contribute.

This page was last modified on by MDN contributors.

Lazy load (лСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°) ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π²Β ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ SpeedUP для CS-CartΒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² (поставляСтся бСсплатно Π² составС ΠΏΠ°ΠΊΠ΅Ρ‚Π°).

ΠœΠΎΠ΄ΡƒΠ»ΡŒΒ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ страницы сайта Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ этой страницы Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для отобраТСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Π­Ρ‚ΠΎ позволяСт ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ рСсурсы ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ страницы Π±ΠΎΠ»Π΅Π΅ быстрой (ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ° являСтся Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Google ΠΊ Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ сайтов ΠΈ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΊ использованию).

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π»Π΅Π½ΠΈΠ²ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡ€ΠΈΠ·Π²Π°Π½ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ сразу нСсколько ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ:

  • Π£ΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ врСмя Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ — отлоТСнная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²Π΅Π±-страницы сниТаСт Π΅Π΅ вСс, Ρ‡Ρ‚ΠΎ позволяСт ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ страницы;
  • Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ пропускной способности — отлоТСнная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° сохраняСт ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ, доставляя ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ запросу;
  • Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ систСмных рСсурсов — лСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° экономит рСсурсы ΠΊΠ°ΠΊ сСрвСра, Ρ‚Π°ΠΊ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ изобраТСния, JavaScript ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ нСобходимости;
  • Π£Π»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Google PageSpeed Insights для страниц сайта. ΠŸΠΎΡ‡Π΅ΠΌΡƒ наша рСализация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ lazy load ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π° для использования?
  • ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡŽ, которая максимально ΡˆΠΈΡ€ΠΎΠΊΠΎ поддСрТиваСтся соврСмСнными Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ ΠΈ рСкомСндуСтся спСциалистами Google;
  • наш ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ максимально ΡˆΠΈΡ€ΠΎΠΊΠΎ поддСрТиваСтся соврСмСнными Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ;
  • наш ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Π²Ρ€Π΅Π΄ΠΈΡ‚ поисковой ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (Π΄Π°, изобраТСния всС Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Π² поисковой Π²Ρ‹Π΄Π°Ρ‡Π΅).

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: для достиТСния ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ быстродСйствия Π½Π° страницах сайта Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ Π»Π΅Π½ΠΈΠ²ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ (постзагрузки) ΠΈ ΠΏΡ€Π΅Π΄Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ: ΠΌΡ‹ ΠΏΡ€Π΅Π΄Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Ρ‚Π΅ изобраТСния,Β ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²ΠΈΠ΄ΠΈΡ‚ Π½Π° экранС ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ ΠΈ Π»Π΅Π½ΠΈΠ²ΠΎ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈ дальнСйшСм взаимодСйствии со страницСй (ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ взаимодСйствия).

Для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€Π΅Π΄Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρƒ нас прСдусмотрСн ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠŸΡ€Π΅Π»ΠΎΠ°Π΄ для CS-Cart.

Π’ΠΈΠΏ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния:

  • CS-Cart
  • CS-Cart Ultimate
  • CS-Cart Multi-Vendor
  • CS-Cart Multi-Vendor Plus
  • CS-Cart Multi-Vendor Ultimate
Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:

  • Π‘Π•Πž оптимизация
Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ вСрсии:

  • 4. 13.2
  • 4.13.3
  • 4.14.1
  • 4.14.2
  • 4.14.3
  • 4.15.1
  • 4.15.2
  • 4.16.1
  • 4.16.2
Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ:

  • 6 мСсяцСв (доступно ΠΏΠ»Π°Ρ‚Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΄Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ)

Команда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² AB Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ систСму тСхничСской ΠΏΠΎΠΌΠΎΡ‰ΠΈ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ тСхничСской ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ, Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ Π½Π° сайтС ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π’СхничСская ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°».

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚:

  • ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π°Π²Ρ‚ΠΎΡ€Π° Π½Π° тСхничСскиС вопросы Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ
  • ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΈ Π±Π°Π³ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ
  • Выпуск вСрсий, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ CS-Cart Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ Π±Π°Π³ΠΈ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… вСрсий

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚:

  • БСрвисы кастомизации
  • БСрвисы инсталляции
  • БСрвисы Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ модулями Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ… сторон
  • БСрвисы ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ

Β 

ВСхничСская ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°

ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ условий тСхничСской ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈ Π΅Π΅ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Ρ‹ доступны ΠΏΠΎ ссылкС

Π Π΅Π»ΠΈΠ· β„–3

v1. 0.2 ΠΎΡ‚ 06-Июл-2022

НовыС возмоТности ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:
[+] Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с CS-Cart 4.15.1.

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ ошибок:
[!] НС Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ Π±Π°Π½Π½Π΅Ρ€Ρ‹ Π² шаблонС «ΠšΠ°Ρ€ΡƒΡΠ΅Π»ΡŒ» смСщали ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, располоТСнный Π½ΠΈΠΆΠ΅. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ.

Π Π΅Π»ΠΈΠ· β„–2

v1.0.1 ΠΎΡ‚ 03-Ноя-2021

Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ ошибок:
[!] ΠœΠΎΠ΄ΡƒΠ»ΡŒ «ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° HiDPI». ΠŸΡ€ΠΈ просмотрС исходного ΠΊΠΎΠ΄Π° страницы ΠΊΠ»ΠΈΠΊ Π½Π° ссылку изобраТСния Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ srcset(base64) Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π» ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ.

[!] Π’Π΅ΠΌΠ° UniTheme2. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для скроллСров (скроллСр Π±Ρ€Π΅Π½Π΄ΠΎΠ²). Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ.
[!] Π’Π΅ΠΌΠ° UniTheme2. ΠŸΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ «Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ изобраТСния Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²» Π½Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈΡΡŒ изобраТСния ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° Π³Π°Π»Π΅Ρ€Π΅ΡŽ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ.

Π Π΅Π»ΠΈΠ· β„–1

v1.0.0 ΠΎΡ‚ 08-ΠžΠΊΡ‚-2021

НовыС возмоТности ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ:
[+] Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° основного Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° модуля.

ЛСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° β€” Π²Π΅Π±-ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

ЛСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° β€” это стратСгия ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ рСсурсов ΠΊΠ°ΠΊ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΡ… (нСкритичСских) ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ нСобходимости. Π­Ρ‚ΠΎ способ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ критичСского ΠΏΡƒΡ‚ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠΎΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы.

ЛСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹ прилоТСния, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это происходит ΠΏΡ€ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… дСйствиях ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° ΠΈ навигация.

По ΠΌΠ΅Ρ€Π΅ развития Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π° ΠΌΡ‹ наблюдаСм ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ рост количСства ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° рСсурсов, отправляСмых ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. Π’ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ с 2011 ΠΏΠΎ 2019 Π³ΠΎΠ΄, срСдний вСс рСсурса увСличился с ~ 100 ΠšΠ‘ Π΄ΠΎ ~ 400 ΠšΠ‘ для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ΠΎΠ² ΠΈ с ~ 50 ΠšΠ‘ Π΄ΠΎ ~ 350 ΠšΠ‘ для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ€ изобраТСния увСличился с ~ 250 ΠšΠ‘ Π΄ΠΎ ~ 900 ΠšΠ‘ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ столС ΠΈ с ~ 100 ΠšΠ‘ Π΄ΠΎ ~ 850 ΠšΠ‘ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах.

Один ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, β€” ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ критичСского ΠΏΡƒΡ‚ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π·Π° счСт Π»Π΅Π½ΠΈΠ²ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ критичСскими для ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: Π²Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚Π΅ Π½Π° домашнюю страницу сайта элСктронной ΠΊΠΎΠΌΠΌΠ΅Ρ€Ρ†ΠΈΠΈ со ссылкой Π½Π° страницу/Ρ€Π°Π·Π΄Π΅Π» ΠΊΠΎΡ€Π·ΠΈΠ½Ρ‹, ΠΈ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· рСсурсов страницы ΠΊΠΎΡ€Π·ΠΈΠ½Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, JavaScript, CSS ΠΈ изобраТСния) Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½.ΠžΡ‚ 0003 Π΄ΠΎ

Π²Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ Ρ‚ΡƒΠ΄Π°.

ЛСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊ нСскольким рСсурсам ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… стратСгий.

ΠžΠ±Ρ‰ΠΈΠ΅

Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°

JavaScript, CSS ΠΈ HTML ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹. Π­Ρ‚ΠΎ позволяСт Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для прСдоставлСния цСнности, Ρ‡Ρ‚ΠΎ сокращаСт врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ ΠΏΠΎ запросу.

  • Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡Π΅ΠΊ Π²Ρ…ΠΎΠ΄Π°: раздСляСт ΠΊΠΎΠ΄ ΠΏΠΎ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌ Π²Ρ…ΠΎΠ΄Π° Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
  • ДинамичСскоС Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅: раздСляСт ΠΊΠΎΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ динамичСского ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°()

JavaScript

ΠœΠΎΠ΄ΡƒΠ»ΡŒ Ρ‚ΠΈΠΏΠ° сцСнария

Π›ΡŽΠ±ΠΎΠΉ Ρ‚Π΅Π³ сцСнария с type="module" рассматриваСтся ΠΊΠ°ΠΊ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ JavaScript ΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ откладываСтся.

CSS

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ CSS рассматриваСтся ΠΊΠ°ΠΊ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ рСсурс, поэтому Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ создан CSSOM. CSS Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ½ΠΊΠΈΠΌ, Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС, Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° ΠΈ запросам рСкомСндуСтся Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³.

 


 

Для этого ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ CSS.

Π¨Ρ€ΠΈΡ„Ρ‚Ρ‹

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ запросы ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ² ΠΎΡ‚ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ построСно Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ΅ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° тСкста.

МоТно ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ рСсурсы Π²Π΅Π±-ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ , свойство CSS font-display ΠΈ API Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΡˆΡ€ΠΈΡ„Ρ‚ΠΎΠ².

Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅: Бсылка Π½Π° элСмСнт.

Π˜Π·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΡ‹

ΠžΡ‡Π΅Π½ΡŒ часто Π²Π΅Π±-страницы содСрТат ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° использованиС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ этих ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ находятся Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ экрана (нСкритичСскиС), ΠΈ для ΠΈΡ… просмотра трСбуСтся взаимодСйствиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ°.

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°

Атрибут Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² элСмСнтС (ΠΈΠ»ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² элСмСнтС

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ load срабатываСт, ΠΊΠΎΠ³Π΄Π° Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ всС Π½Π΅Ρ‚Π΅Ρ€ΠΏΠ΅Π»ΠΈΠ²ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ΅ содСрТимоС; Π² Ρ‚ΠΎ врСмя Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ вСроятно), Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π»Π΅Π½ΠΈΠ²ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ изобраТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ просмотра, Π½ΠΎ Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»Π°ΡΡŒ Π»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ изобраТСния, ΠΈΠ·ΡƒΡ‡ΠΈΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ логичСского значСния ΠΏΠΎΠ»Π½ΠΎΠ΅ свойство .

ΠŸΠΎΠ»ΠΈΡ„ΠΈΠ»Π»

Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ этот ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ старых ΠΈ Π² настоящСС врСмя нСсовмСстимых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ²: Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°-Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚-ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π».

Intersection Observer API

Intersection Observer ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π½Π°Π±Π»ΡŽΠ΄Π°Π΅ΠΌΡ‹ΠΉ элСмСнт Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΈΠ· области просмотра Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий

Когда ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π΅ΡΡ‚ΡŒ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²:

  • ΠΎΠ±ΠΎΠ·Ρ€Π΅Π²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Π»ΠΎΠ²Ρ‹Ρ… пСрСсСчСний
  • Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ»ΠΈ измСнСния ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, находится Π»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ элСмСнт Π² области просмотра
БпСцификация
Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ HTML
# lazy-loading-attributes
  • Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° CSS
  • ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°
  • ЛСнивая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ

ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ с содСрТаниСм этой страницы?

  • ΠžΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ страницу Π½Π° GitHub.
  • Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ с содСрТимым.
  • ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ исходный ΠΊΠΎΠ΄ Π½Π° GitHub.
Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ участиС?

Π£Π·Π½Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ внСсти свой Π²ΠΊΠ»Π°Π΄.

ПослСдний Ρ€Π°Π· эта страница Π±Ρ‹Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° участниками MDN.

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡƒΡ‚ΡŒ отрисовки β€” Π²Π΅Π±-ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡƒΡ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° β€” это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ шагов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ выполняСт для прСобразования HTML, CSS ΠΈ JavaScript Π² пиксСли Π½Π° экранС. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ критичСского ΠΏΡƒΡ‚ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠΏΡƒΡ‚ΡŒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° (DOM), ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль CSS (CSSOM), Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΈ ΠΌΠ°ΠΊΠ΅Ρ‚.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° создаСтся ΠΏΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ HTML. HTML ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ DOM. HTML Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ Π΄Π΅Π»Π°Π΅Ρ‚ запросы Π½Π° стили, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, ΡΠΎΠ·Π΄Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль CSS. Π”Π²ΠΈΠΆΠΎΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ ΠΈΡ… для создания Π΄Π΅Ρ€Π΅Π²Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. ΠœΠ°ΠΊΠ΅Ρ‚ опрСдСляСт Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈ располоТСниС всСго Π½Π° страницС. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΌΠ°ΠΊΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½, пиксСли Ρ€ΠΈΡΡƒΡŽΡ‚ΡΡ Π½Π° экранС.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ критичСского ΠΏΡƒΡ‚ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° сокращаСт врСмя Π΄ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. ПониманиС ΠΈ оптимизация критичСского ΠΏΡƒΡ‚ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π²Π°ΠΆΠ½Ρ‹ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ ΠΈ пСрСрисовки ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ со ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ 60 ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² сСкунду, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ эффСктивноС взаимодСйствиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Ρ€Ρ‹Π²ΠΊΠΎΠ².

Π’Π΅Π±-ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя запросы ΠΈ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ сСрвСра, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, сцСнарии, Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³, ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΡƒ ΠΈ отрисовку пиксСлСй Π½Π° экранС.

Запрос Π²Π΅Π±-страницы ΠΈΠ»ΠΈ прилоТСния начинаСтся с запроса HTML. Π‘Π΅Ρ€Π²Π΅Ρ€ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ HTML — Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈ Π΄Π°Π½Π½Ρ‹Π΅. Π—Π°Ρ‚Π΅ΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ HTML, прСобразовывая ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π±Π°ΠΉΡ‚Ρ‹ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ DOM. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ запросы ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ссылки Π½Π° внСшниС рСсурсы, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ стилСй, скрипты ΠΈΠ»ΠΈ встроСнныС ссылки Π½Π° изобраТСния. НСкоторыС запросы Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ синтаксичСский Π°Π½Π°Π»ΠΈΠ· ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΉ части HTML останавливаСтся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ рСсурс. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ HTML, дСлая запросы ΠΈ создавая DOM, ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠΉΠ΄Π΅Ρ‚ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°, послС Ρ‡Π΅Π³ΠΎ ΠΎΠ½ строит ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль CSS. Когда DOM ΠΈ CSSOM Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Ρ‹, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ строит Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, вычисляя стили для всСго Π²ΠΈΠ΄ΠΈΠΌΠΎΠ³ΠΎ содСрТимого. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΎ, происходит ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰Π°Ρ располоТСниС ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ всСх элСмСнтов Π΄Π΅Ρ€Π΅Π²Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. ПослС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ страница визуализируСтся ΠΈΠ»ΠΈ «рисуСтся» Π½Π° экранС.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ DOM являСтся Π΄ΠΎΠ±Π°Π²ΠΎΡ‡Π½Ρ‹ΠΌ. ΠžΡ‚Π²Π΅Ρ‚ HTML прСвращаСтся Π² Ρ‚ΠΎΠΊΠ΅Π½Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΡƒΠ·Π»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ DOM. Один ΡƒΠ·Π΅Π» DOM начинаСтся с Ρ‚ΠΎΠΊΠ΅Π½Π° startTag ΠΈ заканчиваСтся Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ endTag. Π£Π·Π»Ρ‹ содСрТат всю Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± элСмСнтС HTML. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ описываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ². Π£Π·Π»Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΊ Π΄Π΅Ρ€Π΅Π²Ρƒ DOM Π½Π° основС ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ². Если Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π½Π°Π±ΠΎΡ€ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² startTag ΠΈ endTag находится ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Π±ΠΎΡ€ΠΎΠΌ startTag ΠΈ endTags, Ρƒ вас Π΅ΡΡ‚ΡŒ ΡƒΠ·Π΅Π» Π²Π½ΡƒΡ‚Ρ€ΠΈ ΡƒΠ·Π»Π°, ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ ΠΌΡ‹ опрСдСляСм ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ Π΄Π΅Ρ€Π΅Π²Π° DOM.

Π§Π΅ΠΌ большС количСство ΡƒΠ·Π»ΠΎΠ², Ρ‚Π΅ΠΌ дольшС Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ события Π½Π° критичСском ΠΏΡƒΡ‚ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. ΠœΠ΅Ρ€Π°! НСсколько Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ большого значСния, Π½ΠΎ ΠΈΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ большого количСства Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² повлияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль CSS

МодСль DOM содСрТит всС содСрТимоС страницы. CSSOM содСрТит всю ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΡ‚ΠΈΠ»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ DOM. CSSOM ΠΏΠΎΡ…ΠΎΠΆ Π½Π° DOM, Π½ΠΎ отличаСтся. Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ конструкция DOM являСтся ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎΠΉ, CSSOM β€” Π½Π΅Ρ‚. CSS Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³: Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ страницы Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ ΠΈ Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ вСсь CSS. CSS Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ отрисовку, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ пСрСзаписаны, поэтому содСрТимоС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ отрисовано, ΠΏΠΎΠΊΠ° CSSOM Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½.

Π’ CSS Π΅ΡΡ‚ΡŒ собствСнный Π½Π°Π±ΠΎΡ€ ΠΏΡ€Π°Π²ΠΈΠ» для опрСдСлСния Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ². ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ C Π² CSS ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «Каскад». ΠŸΡ€Π°Π²ΠΈΠ»Π° CSS ΠΊΠ°ΡΠΊΠ°Π΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ синтаксичСский Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹ Π² ΡƒΠ·Π»Ρ‹, ΡƒΠ·Π»Ρ‹-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стили родитСля. Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ½ΠΊΡ€Π΅ΠΌΠ΅Π½Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ CSS, ΠΊΠ°ΠΊ ΠΊ HTML, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π½Π°Π΄ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль CSS строится ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° CSS, Π½ΠΎ Π΅Π΅ нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для построСния Π΄Π΅Ρ€Π΅Π²Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ стили, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ пСрСзаписаны ΠΏΡ€ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ·Π΄Π½Π΅ΠΌ синтаксичСском Π°Π½Π°Π»ΠΈΠ·Π΅, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π½Π° экранС.

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСлСкторов ΠΌΠ΅Π½Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ сСлСкторы Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС, Ρ‡Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅. НапримСр, .foo {} быстрСС, Ρ‡Π΅ΠΌ .bar .foo {} , ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ, ΠΊΠΎΠ³Π΄Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ .foo , Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ сцСнарии ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ DOM, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ .foo . ΠΏΡ€Π΅Π΄ΠΎΠΊ .bar . Π‘ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚Π΅Π³ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π½ΠΎ вряд Π»ΠΈ стоит ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΡˆΡ‚Ρ€Π°Ρ„.

Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅ врСмя, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ для синтаксичСского Π°Π½Π°Π»ΠΈΠ·Π° CSS, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠΎΡ€Π°ΠΆΠ΅Π½Ρ‹ Ρ‚Π΅ΠΌ, насколько Π½Π° самом Π΄Π΅Π»Π΅ быстры Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹. Π‘ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π΄ΠΎΡ€ΠΎΠΆΠ΅, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· большСС количСство ΡƒΠ·Π»ΠΎΠ² Π² Π΄Π΅Ρ€Π΅Π²Π΅ DOM, Π½ΠΎ эти Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΈΠ·ΠΌΠ΅Ρ€ΡŒΡ‚Π΅. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ, скорСС всСго, Π½Π΅ ваш самый Π½ΠΈΠ·ΠΊΠΈΠΉ висящий Ρ„Ρ€ΡƒΠΊΡ‚. Когда Π΄Π΅Π»ΠΎ Π΄ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎ CSS, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСлСкторов Π±ΡƒΠ΄ΡƒΡ‚ всСго Π·Π° микросСкунды. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ CSS, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ минимизация ΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ CSS Π½Π° Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ запросы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Π΄ΠΈΠ°-запросов.

Π”Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°

Π”Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ содСрТимоС, Ρ‚Π°ΠΊ ΠΈ стили: Π΄Π΅Ρ€Π΅Π²ΡŒΡ DOM ΠΈ CSSOM ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‚ΡΡ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ провСряСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΠ·Π΅Π», начиная с корня Π΄Π΅Ρ€Π΅Π²Π° DOM, ΠΈ опрСдСляСт, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° CSS присоСдинСны.

Π”Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎΠ΅ содСрТимоС. Π Π°Π·Π΄Π΅Π» Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ) Π½Π΅ содСрТит Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ поэтому Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ дисплСя : Π½Π΅Ρ‚; для элСмСнта, Π½ΠΈ ΠΎΠ½, Π½ΠΈ Π΅Π³ΠΎ ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΈ Π½Π΅ находятся Π² Π΄Π΅Ρ€Π΅Π²Π΅ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°.

Компоновка

ПослС построСния Π΄Π΅Ρ€Π΅Π²Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° становится Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°. ΠœΠ°ΠΊΠ΅Ρ‚ зависит ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° экрана. Π¨Π°Π³ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ опрСдСляСт, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ элСмСнты Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π½Π° страницС, опрСдСляя ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΈ высоту ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡ… располоТСниС ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ Π΄Ρ€ΡƒΠ³ ΠΊ Π΄Ρ€ΡƒΠ³Ρƒ.

Какова ΡˆΠΈΡ€ΠΈΠ½Π° элСмСнта? Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ уровня Π±Π»ΠΎΠΊΠ° ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΈΠΌΠ΅ΡŽΡ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ€Π°Π²Π½ΡƒΡŽ 100% ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈΡ… родитСля. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ 50% Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ своСго родитСля. Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ½ΠΎΠ΅, Ρ‚Π΅Π»ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ 100%, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ 100% ΡˆΠΈΡ€ΠΈΠ½Ρ‹ области просмотра. Π­Ρ‚Π° ΡˆΠΈΡ€ΠΈΠ½Π° устройства влияСт Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚.

ΠœΠ΅Ρ‚Π°Ρ‚Π΅Π³ области просмотра опрСдСляСт ΡˆΠΈΡ€ΠΈΠ½Ρƒ области просмотра ΠΌΠ°ΠΊΠ΅Ρ‚Π°, влияя Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚. Π‘Π΅Π· этого Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ области просмотра ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, которая Π² полноэкранных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ составляСт 960 пиксСлСй. Π’ полноэкранных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ вашСго Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°, установив , ΡˆΠΈΡ€ΠΈΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ устройства вмСсто ΡˆΠΈΡ€ΠΈΠ½Ρ‹ области просмотра ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. . Π¨ΠΈΡ€ΠΈΠ½Π° устройства измСняСтся, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ свой Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ ΠΌΠ΅ΠΆΠ΄Ρƒ Π°Π»ΡŒΠ±ΠΎΠΌΠ½Ρ‹ΠΌ ΠΈ ΠΏΠΎΡ€Ρ‚Ρ€Π΅Ρ‚Π½Ρ‹ΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌΠΈ. ΠœΠ°ΠΊΠ΅Ρ‚ происходит ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° устройство поворачиваСтся ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈΠ½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ измСняСтся.

DOM влияСт Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚Π° β€” Ρ‡Π΅ΠΌ большС количСство ΡƒΠ·Π»ΠΎΠ², Ρ‚Π΅ΠΌ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ°ΠΊΠ΅Ρ‚. ΠœΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠΌ мСстом, приводя ΠΊ Ρ€Ρ‹Π²ΠΊΠ°ΠΌ, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΎ врСмя ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ. Π₯отя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² 20 мс ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ, ΠΎΠ½Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ€Ρ‹Π²ΠΊΠ°ΠΌ ΠΏΡ€ΠΈ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅. ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π΅Ρ€Π΅Π²Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΡƒΠ·Π»ΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ содСрТимого ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ стилСй Π±Π»ΠΎΡ‡Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΡƒΠ·Π»Π΅, происходит ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠ°.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ частоту ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ событий ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ, ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ обновлСния ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ свойств Π±Π»ΠΎΡ‡Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

ΠšΡ€Π°ΡΠΊΠ°

ПослСдний шаг β€” рисованиС пиксСлСй Π½Π° экранС. ПослС создания Π΄Π΅Ρ€Π΅Π²Π° Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈ пиксСли ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° экранС. ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ рисуСтся вСсь экран. ПослС этого Π±ΡƒΠ΄ΡƒΡ‚ пСрСрисованы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ области экрана, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ для пСрСрисовки минимально Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ области. ВрСмя отрисовки зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ обновлСния ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊ Π΄Π΅Ρ€Π΅Π²Ρƒ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π°. Π₯отя рисованиС β€” это ΠΎΡ‡Π΅Π½ΡŒ быстрый процСсс, ΠΈ поэтому, вСроятно, Π½Π΅ самоС эффСктивноС мСсто, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ слСдуСт ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ, сколько Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ ΠΊΠ°Π΄Ρ€ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ врСмя ΠΊΠ°ΠΊ ΠΌΠ°ΠΊΠ΅Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ рисования. Π‘Ρ‚ΠΈΠ»ΠΈ, примСняСмыС ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΡƒΠ·Π»Ρƒ, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ врСмя отрисовки, Π½ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ стиля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ отрисовку Π½Π° 0,001 мс, ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π΄Π°Ρ‚ΡŒ Π²Π°ΠΌ максимальной ΠΎΡ‚Π΄Π°Ρ‡ΠΈ ΠΎΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ сначала ΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚ΡŒ. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π»ΠΈ это Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *