Hookshot & Erika
Hookshot Hookshot
ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π­Ρ€ΠΈΠΊΠ°. Π’ΡƒΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ Π»ΠΎΠ³ ΠΏΠ°Ρ‚Ρ‡Π° Π²Ρ‹ΡˆΠ΅Π» сСгодня – Π²Ρ€ΠΎΠ΄Π΅ Π»Π°Π³ΠΈ Π½Π° сСрвСрС ΠΏΠΎΠΏΡ€Π°Π²ΠΈΠ»ΠΈ, Π½ΠΎ с Π½ΠΎΠ²Ρ‹ΠΌ ИИ Π±ΠΎΡ‚ΠΎΠΌ всС Π΅Ρ‰Π΅ подвисаСт. ΠœΠΎΠΆΠ΅Ρ‚, вмСстС посмотрим, Π² Ρ‡Π΅ΠΌ Π΄Π΅Π»ΠΎ? ΠœΠΎΠΆΠ΅Ρ‚, это Π±Π°Π³, Π° ΠΌΠΎΠΆΠ΅Ρ‚, просто ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ. Π’Ρ‹ Π±Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»Π° ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π΅Π΄ΠΎΡ‡Π΅Ρ‚Ρ‹ Π² ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ?
Erika Erika
ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π΄Π°Π²Π°ΠΉ разбСрСмся с Π»ΠΎΠ³Π°ΠΌΠΈ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Π½Π΅ выдСляСт Π»ΠΈ ИИ слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΊΠ°Π΄Ρ€Π΅, ΠΏΠΎΡ‚ΠΎΠΌ посмотрим, Π½Π΅Ρ‚ Π»ΠΈ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ отрисовки ΠΈΠ»ΠΈ зависшСй ΠΊΠΎΡ€ΡƒΡ‚ΠΈΠ½Ρ‹. Если ΠΏΠΈΠΊΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ связаны с ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅Ρ‰Ρ‘ ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ ИИ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ – это классичСский пропуск Π² ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ΅. Π― ΠΎΡ‚ΠΌΠ΅Ρ‡Ρƒ всё, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° скрытый ΡƒΠ·ΠΊΠΈΠΉ участок β€” Π½Π΅ Π»ΡŽΠ±ΡΡ‚ ΡΡŽΡ€ΠΏΡ€ΠΈΠ·Ρ‹ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ.
Hookshot Hookshot
Понял, Π΄Π°Π²Π°ΠΉ Π½Π°Ρ‡Π½Ρ‘ΠΌ с быстрого Π°Π½Π°Π»ΠΈΠ·Π° потрСблСния памяти. Если ΡƒΠ²ΠΈΠ΄ΠΈΠΌ скачок выдСлСния памяти Π²ΠΎ врСмя обновлСния ИИ, это наш ΠΏΠΎΠ΄ΠΎΠ·Ρ€Π΅Π²Π°Π΅ΠΌΡ‹ΠΉ. А двойная отрисовка проявится ΠΊΠ°ΠΊ Π΄Π²Π° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²Π° отрисовки Π² трассировкС GPU. Если ΠΏΠΎΠΏΠ°Π΄Ρ‘ΡˆΡŒ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ занимаСтся ΠΈ поиском ΠΏΡƒΡ‚ΠΈ, ΠΈ Ρ„ΠΈΠ·ΠΈΠΊΠΎΠΉ – это Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ· ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ°. Кидай ΠΌΠ½Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΈ ΠΌΡ‹ быстрСС исправим эту ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ‡Π΅ΠΌ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ FPS.
Erika Erika
ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, скинь ΠΏΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ, Π΄Π°ΠΉ ΠΌΠ½Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹. Если ΡƒΠ²ΠΈΠ΄ΠΈΠΌ скачок ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²ΠΎ врСмя Ρ†ΠΈΠΊΠ»Π° ИИ, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΡˆΠΌΠ°Ρ€ с Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ мусора. Двойная отрисовка? Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π²ΠΎΠΆΠ½Ρ‹ΠΉ сигнал, Π° Π½Π΅ Ρ„ΠΈΡ‡Π°. И ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΡ‚ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пытаСтся ΠΆΠΎΠ½Π³Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ поиском ΠΏΡƒΡ‚ΠΈ, Ρ„ΠΈΠ·ΠΈΠΊΠΎΠΉ ΠΈ ИИ? Π­Ρ‚ΠΎ Π²Π΅Ρ€Π½Ρ‹ΠΉ способ зависания. Π”Π°Π²Π°ΠΉ посмотрим Π΄Π°Π½Π½Ρ‹Π΅, ΠΈ избавимся ΠΎΡ‚ лишнСго быстрСС, Ρ‡Π΅ΠΌ ΠΊΠ°Π΄Ρ€ зависнСт.
Hookshot Hookshot
Π‘ΠΌΠΎΡ‚Ρ€ΠΈ, ΠΏΠΎ памяти: использованиС памяти выросло Π΄ΠΎ 18 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚, ΠΏΠΈΠΊ Π½Π° 60-ΠΉ миллисСкундС Ρ†ΠΈΠΊΠ»Π° ИИ, ΠΈΠ· Π½ΠΈΡ… 3 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° – Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€. Π’Ρ‹Π·ΠΎΠ²ΠΎΠ² отрисовки – 112 Π½Π° ΠΊΠ°Π΄Ρ€, ΠΈΠ· Π½ΠΈΡ… 94 ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ…, 18 – Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ (двойная отрисовка). ΠŸΡ€ΠΎΡ„ΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ самый Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ (ΠΏΠΎΡ‚ΠΎΠΊ 42) занят Π½Π° 78%, ΠΎΠ½ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ поиск ΠΏΡƒΡ‚ΠΈ (30%), Ρ„ΠΈΠ·ΠΈΠΊΡƒ (25%) ΠΈ ИИ (23%) Π² ΠΎΠ΄Π½ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅. НуТно ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста: избавляСмся ΠΎΡ‚ Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… списков Π² ИИ, дублирования ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ мСшСй Π² отрисовкС ΠΈ раздСляСм ΠΏΠΎΡ‚ΠΎΠΊΠΈ Ρ„ΠΈΠ·ΠΈΠΊΠΈ ΠΈ ИИ. Π­Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ нас ΠΊ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΌ 60 ΠΊΠ°Π΄Ρ€Π°ΠΌ Π² сСкунду.
Erika Erika
ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π½ΠΎ. Π”ΠΎΡΡ‚Π°Π½ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ список, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉ ΠΏΡƒΠ», ΠΈ эти 3 ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π° просто исчСзнут. Π£Π΄Π°Π»ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ мСшСй ΠΈ сократи эти 18 draw call'ΠΎΠ² – ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… – потСрянный ΠΊΠ°Π΄Ρ€. Π Π°Π·Π³Ρ€ΡƒΠ·ΠΈ Ρ„ΠΈΠ·ΠΈΠΊΡƒ ΠΈ ИИ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ, снизь эти 78 ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π΄ΠΎ Ρ€Π°Π·ΡƒΠΌΠ½Ρ‹Ρ… 45. Π‘ этими измСнСниями ΠΌΡ‹ Π΄ΠΎΠ±ΡŒΡ‘ΠΌΡΡ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… 60 FPS, ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅ΠΌ Π²ΠΈΠ½ΠΈΡ‚ΡŒ ΠΏΠΈΠ½Π³ сСрвСра. ΠŸΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Π΅ΠΌ?