Ինչպես օպտիմիզացնել շարժական խաղի ժամանակ
1) Ինչո՞ ւ լավատեսություն ցուցաբերել
Ավելի քիչ ուշացումներ են կատարվում ավելի կայուն, քան նստաշրջանը և ավելի բարձր պահելը։- Տվյալների խնայողությունները ցածր են օգտագործողի ծախսերը և «կրճատված սակագֆի» ռիսկը։
- Արագ մեկնարկը ավելի շատ խաղեր է պատրաստում թնդանոթի/գովազդի հետ։
- Հուսալիությունը թույլ ցանցի վրա (3G/սրճարան-Wi-Fi/rouming)։
2) Մետրերը, որոնց հետևում իրականում արժե հետևել
First Corentful Paint (FCP )/Largest Contentful Paint (LCP). երբ խաղացողը «տեսավ» և երբ «կարող եք խաղալ»։
INP/TBT: ինտերֆեյսի արձագանքը։
Մոսկվա/108 (MB) և պիկ բիթրեյթ։
RTT/jitter/կորուստ (հատկապես խաղերի/սթրիմների համար)։- Քաշ-հիթեր 'դիմումի կեշից/CDN հարցումների մի մասը։
3) Ցանցային հոսք ՝ հիգիենայի լուծույթ
Միացրեք HTTP/2/HTTP/3 (QUIC) բազմապատկման և ավելի կայուն աշխատանքի համար։
TMS session resumption և 0-RTT (H3-ի համար) - ավելի քիչ, քան ձեռքերը։
MS-24fetch/Preconnect-ը CDN-ին և խաղերի պրովայդերներին։
Գրագետ քեշի քաղաքականությունը '«Cache-Corl», «ETag», ասսեթների տարբերակումը։
4) CDN և երկրագրությունը
Տեղադրեք ստատիկա և մեդիա CDN-ում PoP-ի հետ ավելի մոտ օգտագործողին։- Միացրեք image resizing/« accept »-based negotiation CDN-ում (PRP/AVIF)։
- Նախկին տեսահոլովակի համար շատ բիթրեյթ պրոֆիլներ են edge (HMS/DASH)։
5) Սեղմումը և կայունությունը (ինչը իսկապես խնայում է տասնյակ տոկոսը)
Պատկերները ՝ Pro P/AVIF + «www.cset/sizes», սպրեյտներ և SVG-iconki։- Տառատեսակներ ՝ WOF2, www.set ճիշտ գլիֆների վրա, «font-play: swap»։
- Տեսահոլովակը ՝ H3864/HEVC/AV1 (որտեղ հասանելի է), ուղեղի փոխարեն։
- Տեքստ/JSON: Brotli (105)> Gzip, միացրեք CDN/սերվերին։
- JS/CSS 'մինիֆիկացիա, «մեռած» կոդի հեռացում (tree-shaking), code-split։
6) Խաղային հոլստը 'արցունքներ, մինի խաղեր, կանվաս/WinGL GL
Renderte-ը հարմարվողական DPR-ի տակ '«devicePixelRatio» սահմանափակեք մինչև 1։ 5-2 Altaile-ում, կտրուկ պահպանվում է ,/CPU-ն ընկնում է։
Texture atlases-ը և տեքստուրը (ASTC/ETC/BC, որտեղ աջակցվում է) ավելի քիչ բեռնումը։- Ծույլ ծույլ ասացվածք մակարդակներով/էկրաններով, ոչ թե «ամեն ինչ անմիջապես»։
- Հեռացրեք «ծանր» ստվերը/ֆիլտրերը, սահմանափակեք անիմացիայի հաճախականությունը մինչև 30-45 fpps թույլ սարքերի վրա։
- Iframe-slots-ի համար օգտագործեք պրովայդերների հետ lights-ի և փաթեթային փաթեթավորման մասին միայն կրիտիկական ռեսուրսները։
7) Խաղեր և ստրիմաներ. Խնայենք մեգաբայթ առանց ցավի։
Հարմարվողական բիթրեյթ (ABR) '490p/490p/720p շեմերով; ընտրվում է լայնությամբ/RTT։
Low-Latency HMS/DASH միայն այնտեղ, որտեղ անհրաժեշտ է։ մի միացրեք LLC բոլորին։- Ձայնային բիթրեյթ 64-96 kbps ելույթի համար ավելի հաճախ բավարար է։
- Vicle. լոբբիում 'ցույց տվեք GIF/webm-ի պաստառը։
8) Հաղորդակցությունը իրական ժամանակում
Socket-ը 'երկուական արձանագրություններ, հաղորդագրությունների pack, heartbeat 25-30 վայրկյանում։
AleksandRTC-2019-ը միայն նեղ դեպքերի համար է։ խուսափեք NAT-group-ից, եթե դա լրատվամիջոցների մասին չէ։
Սեղմեք օգտակար բեռը (www.ocol buffers/WindoPack), մի հետապնդեք «ճարպային» JSON-ը։
9) PWA/WindoWorker: Altaile-ի վրա գտնվող նախկին վահանը։
App Shell-ը 'գլխարկ/նավարկություն և skeleton - ակնթարթային առաջին էկրանը։- Runtime caching: «Stale-While-Revalidate» նկարների համար, «Network First» -ը API-ի համար TTL-ի հետ։
- Background winnc: հետաձգված հեռուստացույց/լոգոն, առանց փոխազդեցության արգելափակման։
- Masterfallback: հասկանալի էկրաններ դատարկության փոխարեն (ռետրերի խնայողությունը և ավելորդ հարցումները)։
10) Խելացի բեռնումներ և գերակայություններ
Critical CSS inae, մնացածը 'խնդրանքով։- «www.er/async» ջութակների, im.ru () հետագա էկրանների համար։
- Lazy-load խաղերի ցուցակները (20-30 տուփ), «Intersault Observer»։
- Winfetch-ը մտադրությամբ. Երբ օգտագործողը մնացել էր քարտի վրա, դուք պետք է ընտրեք խաղի ասպետները։
11) Բիլինգը և տոմսարկղը
Օգտագործեք ռուսական վճարային երկխոսությունները (Apple/Google Live), դրանք ավելի տնտեսական և կայուն են։
Նվազագույնի հասցրեք ռեդիրիտները և ավելցուկ պիքսելները վճարովի քայլերի վրա։- Cryptomodule-ում մի ընկերացրեք բոլոր ցանցերը/iconki - միայն ընտրված ցանցը/մետաղադրամը։
12) Թելեմետրիա և A/B առանց «կենդանի»
Հավաքեք միայն անհրաժեշտ իրադարձություններ, փաթաթեք և ուղարկեք N վայրկյան/չափի։- Անջատեք դեբետային լոգները երկարության մեջ, հավաքեք դաշտերը իրադարձությունների մեջ։
- A/B-դրոշները թեթև remote-105-ի միջոցով, մի ձգեք մեգաբայթ սխեմաները։
13) Խաղացողների համար պրակտիկան (արագ հաղթանակներ)
IOS/Android-ում միացրեք Saver/Տնտեսությունը։- Հնարավորության դեպքում խաղացեք Wi-Fi 5/6; բջջային ցանցում խուսափեք «1-2 փայտից» 'կորուստից բարձր։
- Անջատեք վիդեո/վերափոխումը պարամետրերում։
- Telegram-ում և զննարկիչում մաքրեք քեշը մի քանի շաբաթ, բայց ոչ հաճախակի խաղից առաջ (քեշը օգնում է)։
- Հետևեք ծրագրի/PWA-ի նորարարությանը, նոր տարբերակները հաճախ ավելի տնտեսական են։
14) Մշակողների/արտադրանքի (մեկ էջ)
1. HTTP/2/3, TLS 1. 3, preconnium CDN/խաղային մրցույթների համար։
2. CDN-ը նկարների resize, AVIF/WindoP, Brotli տեքստով։
3. App Shell + SW: offline-fallback, runtime-кеш, background-sync.
4. Ծույլ ասետների բեռնումը, կոորդինատը, կրիտիկական CSS inae-ը։
5. Դինամիկ DPR (242), սեղմված տեքստուրները, 30-45 fpps թույլ։
6. ABR տեսահոլովակը լայնությամբ/RTT, դուրս։ լողալ լոբբիում։
7. Intel Socket փաթեթավորմամբ; սեղմված արձանագրություն տվյալների համար։
8. Telemetria մարտերով; անջատված prod-dement։
9. Գանձապահը առանց ավելորդ ռեդիրիտների։ վճարումների խոսակցությունները։
10. Շվեյցարիա: LCP/INP/105/108, Քաշ-հիթեր, RTT/կորուստներ։
15) Հաճախակի սխալներ և ինչպես շտկել դրանք
Տեսանյութերի/սթրիմների ավտոպլեյը ցուցակներում փոխարինվում է փոստով/գերազանցությամբ։- Մենք քաշում ենք 3 հազար օգնական բոլոր սարքերում, որոնք կարող են օգտագործել «www.cset »/DPR պրոֆիլներ։
- Հսկա JS-բանդալները ցույց են տալիս բաժանումը երթուղիներով, unused deps-ի հեռացումը։
- Զրոյական քեշի վերահսկումը TTL/Etag-ի պարամետրում և տարբերակումը։
- Chat/telemetry-ը սպանում է, ավելացրեք heartbeat-ը։
- Ամեն ինչ մեկ Windows Socket-ի ալիքում (խաղը + chate + analikatika) կիսեք քննադատությամբ։
16) Մինի-փամփուշտներ, որոնք «եղանակը անում են»
«Նվազեցնել տեսահոլովակի որակը» կոճակը նախկին սեղաններում վատ ցանցում։- Placeholder շապիկներ խաղերի համար մինչև ռետինի բեռնումը։
- Վերջին նստաշրջանի պահպանումը (քեշ վիճակը) ավելի քիչ է, քան երկրորդ հարցումները։
- Deeplink-ը վերջին գործարկված սեղանի/փղի վրա մինուս երկու էկրան է և ասսեթների տուփ։
17) FAQ
Օպտիմիզացիան վատթարանում է որակը։- Եթե դուք հարմարվողականորեն անեք (DPR/ABR/« www.cset ») - ոչ 'սարքի և ցանցի համար լավագույն որակի/արագության հավասարակշռություն։
- Ոչ։ Այն ավելի թանկ է օպտիկամանրաթելով և զգայուն է կորուստների նկատմամբ։ Թողեք մրցավարների/լայվ-քեյսի համար։
- Հաճախ այո 'ավելի քիչ MSK և ֆոնային հոսքեր, գումարած SW-ի քեշը։ Բայց կախված է իրականացումից։
- Միջին 25-45 տոկոսը JPEG/PNG-ի դեմ առանց որակի կորստի։
Արժե՞ նվազեցնել DPR-ը։
Նվազեցրեք դինամիկորեն թույլ սարքերի/ցածր ցանցի վրա։ Wi-Fi 6-ի դրոշի վրա կարող եք պահել 2։ 0.
Մրցույթի օպտիմիզացումը ոչ թե «կտրել ամեն ինչ անընդմեջ» է, այլ հարմարեցնել կառուցվածքի, ցանցի և սցենարի որակը և ծավալը։ Համատեղեք արագ ցանցային հոսքը (HTTP/3, CDN, kash), «խելացի» ասացվածքներ (PRP/AVIF, տեքստուրներ, ABR), կոկիկ կանվաս և PWA-kash, կտրեք հեռաչափության աղմուկը, և կստանաք արագ բեռնումներ, կայուն խաղային և զգայական տվյալներ և զգայական տվյալներ Խաղացողները ավելի քիչ են ընկնում ցանցի պատճառով, ավելի հաճախ վերադառնում են, իսկ ապրանքը հաղթում է ինչպես պահպանման, այնպես էլ ենթակառուցվածքային ոլորտներում։