Chromium-ի օպտիմալացման արդյունքներն իրականացվել են RenderingNG նախագծի կողմից

Chromium-ի մշակողները ամփոփել են RenderingNG նախագծի առաջին արդյունքները, որը մեկնարկել է 8 տարի առաջ, որի նպատակն է շարունակական աշխատանքը բարձրացնել Chrome-ի արդյունավետությունը, հուսալիությունը և ընդարձակելիությունը:

Օրինակ, Chrome 94-ում ավելացված օպտիմիզացումները Chrome 93-ի համեմատ հանգեցրել են 8% նվազման էջի մատուցման հետաձգման և 0.5% աճի մարտկոցի ծառայության ժամկետի: Ելնելով Chrome-ի օգտատերերի բազայի չափից՝ սա ամեն օր ավելի քան 1400 տարվա պրոցեսորի ժամանակի համաշխարհային խնայողություն է: Համեմատած նախորդ տարբերակների հետ՝ ժամանակակից Chrome-ն ավելի քան 150%-ով ավելի արագ է հաղորդում գրաֆիկան և 6 անգամ ավելի քիչ ենթակա է GPU-ի վարորդի խափանումներին խնդրահարույց ապարատում:

Արդյունավետության բարձրացման համար իրականացված մեթոդներից մենք նշել ենք GPU-ի կողմում տարբեր պիքսելների ռաստերիզացման գործողությունների զուգահեռացումը և պրոցեսորների ավելի ակտիվ բաշխումը տարբեր պրոցեսորի միջուկներում (կատարում JavaScript, էջի վերամշակում, տեսանյութերի և պատկերների վերծանում, պրոակտիվ ցուցադրում: բովանդակություն): Ակտիվ զուգահեռացման սահմանափակող գործոնը պրոցեսորի վրա ավելացող բեռն է, որն արտացոլվում է ջերմաստիճանի բարձրացմամբ և էներգիայի սպառման ավելացմամբ, ուստի կարևոր է օպտիմալ հավասարակշռության հասնել աշխատանքի և էներգիայի սպառման միջև: Օրինակ, մարտկոցի էներգիայով աշխատելիս կարող եք զոհաբերել մատուցման արագությունը, բայց չեք կարող զոհաբերել ոլորման մշակումը առանձին թեմայում, քանի որ ինտերֆեյսի արձագանքման նվազումը նկատելի կլինի օգտագործողի համար:

RenderingNG նախագծի շրջանակներում իրականացվող տեխնոլոգիաները լիովին փոխում են կոմպոզիցիայի մոտեցումը և թույլ են տալիս հարմարվողականորեն օգտագործել տարբեր տեխնոլոգիաներ՝ էջերի առանձին մասերի հետ կապված GPU-ի և CPU-ի վրա հաշվարկների օպտիմալացման համար՝ հաշվի առնելով այնպիսի առանձնահատկություններ, ինչպիսիք են էկրանի լուծումը և թարմացման արագությունը: , ինչպես նաև առաջադեմ գրաֆիկական API-ների աջակցության համակարգում առկայություն, ինչպիսիք են Vulkan-ը, D3D12-ը և Metal-ը: Օպտիմիզացիայի օրինակները ներառում են GPU-ի տեքստուրների քեշավորման ակտիվ օգտագործումը և վեբ էջերի մասերի արդյունքների ցուցադրումը, ինչպես նաև այն էջի միայն այն տարածքը, որը տեսանելի է օգտատիրոջը, մատուցելիս (իմաստ չկա էջերի մասերի մատուցման համար: էջ, որը ծածկված է այլ բովանդակությամբ):

RenderingNG-ի կարևոր տարրը նաև էջերի տարբեր մասեր մշակելիս կատարողականի մեկուսացումն է, օրինակ՝ iframes-ում գովազդի մատուցման, անիմացիաների ցուցադրման, աուդիո և վիդեո նվագարկման, բովանդակության ոլորման և JavaScript-ի գործարկման հետ կապված հաշվարկների մեկուսացումը:

Chromium-ի օպտիմալացման արդյունքներն իրականացվել են RenderingNG նախագծի կողմից

Իրականացված օպտիմալացման տեխնիկա.

  • Chrome 94-ն առաջարկում է CompositeAfterPaint մեխանիզմը, որն ապահովում է վեբ էջերի առանձին վերարտադրված մասերի կոմպոզիտացիա և թույլ է տալիս դինամիկորեն մեծացնել բեռը GPU-ի վրա: Համաձայն օգտատերերի հեռաչափության տվյալների՝ նոր կոմպոզիտացիոն համակարգը նվազեցրել է պտտման հետաձգումը 8%-ով, օգտատերերի փորձի արձագանքման հնարավորությունը 3%-ով, 3%-ով ավելացրել է փոխանցման արագությունը, կրճատել է GPU-ի հիշողության սպառումը 3%-ով և երկարացնել մարտկոցի ժամկետը 0.5%-ով։
  • GPU Raster-ը՝ GPU-ի կողմի ռաստերիզացման շարժիչը, ներդրվել է բոլոր հարթակներում 2020 թվականին և արագացրել է MotionMark-ի չափորոշիչները միջինը 37%-ով, իսկ HTML-ին առնչվող չափորոշիչները՝ 150%-ով։ Այս տարի GPU Raster-ը բարելավվեց GPU-ի կողմից արագացումն օգտագործելու ունակությամբ՝ կտավի տարրերը ցուցադրելու համար, ինչը հանգեցրեց 1000%-ով ավելի արագ ուրվագծերի և 1.2%-ով ավելի արագ MotionMark 130 հենանիշերի:
  • LayoutNG-ը էջի տարրերի դասավորության ալգորիթմների ամբողջական վերանախագծումն է, որն ուղղված է հուսալիության և կանխատեսելիության բարձրացմանը: Նախագիծը նախատեսվում է օգտատերերին ներկայացնել այս տարի։
  • BlinkNG - Blink շարժիչի վերամշակում և մաքրում, մատուցման գործողությունները բաժանելով առանձին կատարվող փուլերի՝ քեշավորման արդյունավետությունը բարելավելու և ծույլ մատուցումը պարզեցնելու համար՝ հաշվի առնելով պատուհանում գտնվող օբյեկտների տեսանելիությունը: Աշխատանքները նախատեսվում է ավարտել այս տարի։
  • Ոլորման, անիմացիայի և պատկերների վերծանման կարգավորիչների տեղափոխում առանձին թելեր: Նախագիծը զարգանում է 2011 թվականից, և այս տարի այն ձեռք է բերել անիմացիոն CSS փոխակերպումներ և SVG անիմացիաներ առանձին թելերի արտահանման հնարավորություն:
  • VideoNG-ը արդյունավետ և հուսալի շարժիչ է վեբ էջերում տեսանյութեր նվագարկելու համար: Այս տարի ներդրվել է պաշտպանված բովանդակությունը 4K լուծաչափով ցուցադրելու հնարավորությունը։ Նախկինում ավելացվել է HDR աջակցություն:
  • Viz - առանձին պրոցեսներ ռաստերիզացման (OOP-R - Out-of-process Raster) և մատուցման համար (OOP-D - Out of Process Display Compositor), զննարկիչի ինտերֆեյսի մատուցումը բաժանելով էջի բովանդակության մատուցումից: Նախագիծը նաև զարգացնում է SkiaRenderer գործընթացը, որն օգտագործում է հատուկ պլատֆորմի գրաֆիկական API-ներ (Vulkan, D3D12, Metal): Փոփոխությունը թույլ տվեց 6 անգամ նվազեցնել գրաֆիկայի դրայվերներում առկա խնդիրների պատճառով խափանումների թիվը։

Source: opennet.ru

Добавить комментарий