លទ្ធផលបង្កើនប្រសិទ្ធភាព Chromium អនុវត្តដោយគម្រោង RenderingNG

អ្នកអភិវឌ្ឍន៍ Chromium បានសង្ខេបលទ្ធផលដំបូងនៃគម្រោង RenderingNG ដែលបានបើកដំណើរការកាលពី 8 ឆ្នាំមុន សំដៅលើការងារដែលកំពុងបន្តដើម្បីបង្កើនការអនុវត្ត ភាពជឿជាក់ និងពង្រីករបស់ Chrome ។

ឧទាហរណ៍ ការបង្កើនប្រសិទ្ធភាពដែលបានបន្ថែមនៅក្នុង Chrome 94 បើប្រៀបធៀបទៅនឹង Chrome 93 បណ្តាលឱ្យមានការបន្ថយរយៈពេលនៃការបង្ហាញទំព័រចំនួន 8% និងបង្កើនអាយុកាលថ្ម 0.5% ។ ដោយផ្អែកលើទំហំនៃមូលដ្ឋានអ្នកប្រើប្រាស់របស់ Chrome នេះតំណាងឱ្យការសន្សំជាសកលនៃពេលវេលាស៊ីភីយូជាង 1400 ឆ្នាំជារៀងរាល់ថ្ងៃ។ បើប្រៀបធៀបទៅនឹងកំណែមុនៗ Chrome ទំនើបបង្ហាញក្រាហ្វិកលឿនជាង 150% និងងាយរងគ្រោះតិចជាង 6 ដងចំពោះកម្មវិធីបញ្ជា GPU គាំងលើផ្នែករឹងដែលមានបញ្ហា។

ក្នុងចំណោមវិធីសាស្រ្តដែលបានអនុវត្តដើម្បីសម្រេចបាននូវប្រសិទ្ធភាពការងារ យើងបានកត់សម្គាល់ពីភាពស្របគ្នានៃប្រតិបត្តិការ rasterization នៃ pixels ផ្សេងគ្នានៅលើផ្នែក GPU និងការចែកចាយសកម្មជាងមុននៃ processors នៅទូទាំង CPU cores ផ្សេងៗគ្នា (ការប្រតិបត្តិ JavaScript, ដំណើរការរមូរទំព័រ, ការឌិកូដវីដេអូ និងរូបភាព, ការបង្ហាញសកម្មនៃ មាតិកា) ។ កត្តាកំណត់សម្រាប់ការប៉ារ៉ាឡែលសកម្មគឺការកើនឡើងការផ្ទុកនៅលើ CPU ដែលត្រូវបានឆ្លុះបញ្ចាំងដោយការកើនឡើងនៃសីតុណ្ហភាព និងការប្រើប្រាស់ថាមពលកើនឡើង ដូច្នេះវាជាការសំខាន់ដើម្បីសម្រេចបាននូវតុល្យភាពដ៏ល្អប្រសើររវាងការអនុវត្ត និងការប្រើប្រាស់ថាមពល។ ឧទាហរណ៍ នៅពេលដំណើរការថាមពលថ្ម អ្នកអាចលះបង់ល្បឿននៃការបង្ហាញ ប៉ុន្តែអ្នកមិនអាចលះបង់ដំណើរការរមូរនៅក្នុងខ្សែស្រឡាយដាច់ដោយឡែកបានទេ ដោយសារការថយចុះនៃការឆ្លើយតបនៃចំណុចប្រទាក់នឹងកត់សម្គាល់ចំពោះអ្នកប្រើប្រាស់។

បច្ចេកវិទ្យាដែលបានអនុវត្តក្នុងក្របខ័ណ្ឌនៃគម្រោង RenderingNG ផ្លាស់ប្តូរទាំងស្រុងនូវវិធីសាស្រ្តក្នុងការផ្សំ និងអនុញ្ញាតឱ្យអ្នកសម្របខ្លួនដោយប្រើបច្ចេកវិទ្យាផ្សេងៗសម្រាប់ការបង្កើនប្រសិទ្ធភាពការគណនានៅលើ GPU និង CPU ទាក់ទងនឹងផ្នែកនីមួយៗនៃទំព័រ ដោយគិតគូរពីលក្ខណៈពិសេសដូចជាគុណភាពបង្ហាញអេក្រង់ និងអត្រាធ្វើឱ្យស្រស់។ ក៏ដូចជាវត្តមាននៅក្នុងប្រព័ន្ធនៃការគាំទ្រសម្រាប់ APIs ក្រាហ្វិកកម្រិតខ្ពស់ដូចជា Vulkan, D3D12 និង Metal ។ ឧទាហរណ៍នៃការបង្កើនប្រសិទ្ធភាពរួមមានការប្រើប្រាស់សកម្មនៃវាយនភាព GPU ឃ្លាំងសម្ងាត់ និងការបង្ហាញលទ្ធផលនៃផ្នែកនៃគេហទំព័រ ក៏ដូចជាការគិតតែពីតំបន់នៃទំព័រដែលអ្នកប្រើប្រាស់អាចមើលឃើញនៅពេលបង្ហាញ (មិនមានចំណុចណាមួយក្នុងការបង្ហាញផ្នែកនៃទំព័រ។ ទំព័រដែលត្រូវបានគ្របដណ្តប់ដោយមាតិកាផ្សេងទៀត) ។

ធាតុសំខាន់មួយនៃការ RenderingNG ក៏ដើម្បីញែកការអនុវត្តនៅពេលដំណើរការផ្នែកផ្សេងៗនៃទំព័រ ឧទាហរណ៍ ដើម្បីញែកការគណនាដែលទាក់ទងនឹងការបម្រើការផ្សាយពាណិជ្ជកម្មក្នុង iframes ការបង្ហាញចលនា ការចាក់សំឡេង និងវីដេអូ រមូរមាតិកា និងដំណើរការ JavaScript ។

លទ្ធផលបង្កើនប្រសិទ្ធភាព Chromium អនុវត្តដោយគម្រោង RenderingNG

អនុវត្តបច្ចេកទេសបង្កើនប្រសិទ្ធភាព៖

  • Chrome 94 ផ្តល់នូវយន្តការ CompositeAfterPaint ដែលផ្តល់នូវការផ្សំនៃផ្នែកដែលបង្ហាញដោយឡែកពីគ្នានៃគេហទំព័រ និងអនុញ្ញាតឱ្យអ្នកធ្វើមាត្រដ្ឋានថាមវន្តនៅលើ GPU ។ យោងតាមទិន្នន័យ telemetry របស់អ្នកប្រើប្រាស់ ប្រព័ន្ធផ្សំថ្មីបានកាត់បន្ថយភាពយឺតពេលនៃការរមូរ 8%, បង្កើនការឆ្លើយតបបទពិសោធន៍អ្នកប្រើប្រាស់ 3%, បង្កើនល្បឿនបង្ហាញ 3%, កាត់បន្ថយការប្រើប្រាស់អង្គចងចាំ GPU 3% និងពន្យារអាយុកាលថ្ម 0.5% ។
  • GPU Raster ដែលជាម៉ាស៊ីន rasterization ខាង GPU ត្រូវបានណែនាំនៅគ្រប់វេទិកាទាំងអស់ក្នុងឆ្នាំ 2020 ហើយបានបង្កើនល្បឿនស្តង់ដារ MotionMark ជាមធ្យម 37% និងស្តង់ដារដែលទាក់ទងនឹង HTML ដោយ 150% ។ នៅឆ្នាំនេះ GPU Raster ត្រូវបានពង្រឹងជាមួយនឹងសមត្ថភាពប្រើប្រាស់ GPU-side acceleration ដើម្បីបង្ហាញធាតុ Canvas ដែលនាំឱ្យការបង្ហាញគ្រោងលឿនជាង 1000% និង 1.2% លឿនជាងមុន MotionMark 130 benchmarks ។
  • LayoutNG គឺជាការរចនាឡើងវិញពេញលេញនៃក្បួនដោះស្រាយប្លង់ធាតុទំព័រដែលមានគោលបំណងបង្កើនភាពជឿជាក់ និងការព្យាករណ៍។ គម្រោង​នេះ​គ្រោង​នឹង​នាំ​មក​ជូន​អ្នក​ប្រើ​ប្រាស់​នៅ​ឆ្នាំ​នេះ។
  • BlinkNG - ជួសជុល និងសម្អាតម៉ាស៊ីន Blink ដោយបែងចែកប្រតិបត្តិការបង្ហាញទៅជាដំណាក់កាលដែលបានប្រតិបត្តិដាច់ដោយឡែកពីគ្នា ដើម្បីបង្កើនប្រសិទ្ធភាពឃ្លាំងសម្ងាត់ និងសម្រួលការបង្ហាញភាពខ្ជិល ដោយគិតគូរពីភាពមើលឃើញនៃវត្ថុនៅក្នុងបង្អួច។ ការងារនេះគ្រោងនឹងបញ្ចប់នៅឆ្នាំនេះ។
  • ការរំកិលរំកិល ចលនា និងឧបករណ៍ដោះស្រាយការឌិកូដរូបភាពទៅជាខ្សែស្រឡាយដាច់ដោយឡែក។ គម្រោងនេះត្រូវបានអភិវឌ្ឍតាំងពីឆ្នាំ 2011 ហើយនៅឆ្នាំនេះវាសម្រេចបាននូវសមត្ថភាពក្នុងការនាំចេញការបំប្លែង CSS ដែលមានចលនា និង SVG animations ដើម្បីបំបែកខ្សែស្រឡាយ។
  • VideoNG គឺជាម៉ាស៊ីនដ៏មានប្រសិទ្ធភាព និងអាចទុកចិត្តបានសម្រាប់ការចាក់វីដេអូនៅលើគេហទំព័រ។ នៅឆ្នាំនេះ សមត្ថភាពបង្ហាញមាតិកាដែលបានការពារក្នុងគុណភាពបង្ហាញ 4K ត្រូវបានអនុវត្ត។ ការគាំទ្រ HDR ត្រូវបានបន្ថែមពីមុន។
  • Viz - ដំណើរការដាច់ដោយឡែកសម្រាប់ rasterization (OOP-R - Out-of-process Raster) និង rendering (OOP-D - Out of process display compositor) ដោយបំបែកការ rendering នៃ browser interface ពីការ rendering នៃ page content។ គម្រោងនេះក៏កំពុងអភិវឌ្ឍដំណើរការ SkiaRenderer ដែលប្រើ APIs ក្រាហ្វិកជាក់លាក់នៃវេទិកា (Vulkan, D3D12, Metal)។ ការផ្លាស់ប្តូរនេះបានធ្វើឱ្យវាអាចកាត់បន្ថយចំនួននៃការគាំងដោយសារតែបញ្ហានៅក្នុងកម្មវិធីបញ្ជាក្រាហ្វិកចំនួន 6 ដង។

ប្រភព: opennet.ru

បន្ថែមមតិយោបល់