PorteuX izstrādātāji uzrakstīja pašu mērīšanas rīku logu pārvaldniekiem un publicēja pirmos rezultātus. Uz AMD Ryzen 7 7840HS ar iebūvēto Radeon 780M grafiku un 32 GB atmiņas Wayland kompozitori tipiskos logu darbus pabeidz ātrāk par X11. Enerģijas patēriņā priekšā tomēr izrādījās divas X11 konfigurācijas: LXDE ar Openbox un Xfce ar jauno xfwm4-gl.
Rīks saucas wmbench. To uzrakstīja tie paši cilvēki, kas Xfce logu pārvaldnieku xfwm4 atdalīja jaunā versijā ar OpenGL kompozitēšanu. Michael Larabel 25. augustā Phoronix aprakstīja datus, ko PorteuX izstrādātāji nosūtīja redakcijai.
Kā rīks nosaka, kas darbojas
Katra slodze wmbench iekšienē paveic fiksētu darba apjomu. Rezultāts tāpēc ir patērētais laiks, kas ļauj divas sesijas salīdzināt tieši. Kadru skaits ir vienīgais izņēmums: to mēra vienu reizi, logā, bez ierobežojuma.
Kompozitoru rīks atrod, jautājot pašai sesijai. X11 gadījumā logu pārvaldnieks to pasaka pats caur logu, kas tam pieder. Wayland protokolā šādas ziņas nav, tāpēc wmbench meklē procesu, kuram pieder displeja ligzda. Kolonna, ko izmērīt nevar, tabulā paliek ar svītru: jauda bez sensora, darbvirsmas procesora laiks bez redzama procesa.
Procesora kolonna rāda pašas darbvirsmas procesus. Uz Wayland tas ir kompozitors. Uz X11 tas ir logu pārvaldnieks kopā ar X serveri, jo darbs sadalīts starp diviem procesiem. Ar mainīgo BENCH_BACKEND=x11 var piespiest X11 aizmuguri Wayland sesijā. Tā pati slodze tad izpildās divas reizes. Starpība parāda XWayland pašizmaksu.
Jaudu rīks lasa no sensoriem tieši: energy_uj procesoram un Intel integrētajai grafikai, energy1_input Intel atsevišķajai kartei, power1_average AMD kartēm un nvidia-smi NVIDIA kartēm. Uz mašīnas ar integrēto grafiku viens rādījums sedz gan procesoru, gan grafiku, tāpēc AMD tabulā jaudas kolonna ir viena. Uz dažām mašīnām procesora sensoru drīkst atvērt tikai root. Tad skripts pirms mērīšanas prasa atļauju. Pilnekrāna pāri wmbench lasa jaudā, nevis kadros: ietaupījums pieder kompozitoram, ne lietotnei.
xfwm4-gl skaitļi
Uz AMD ar Mesa radeonsi draiveri logā palaists etalons bez kompozitora sasniedz 180,5 kadrus sekundē. Ar veco XRender kompozitēšanu tas nokrīt līdz 161,6. Ar OpenGL ceļu paliek 174,2. Jauda, mērot to pašu etalonu fiksētu 60 kadros sekundē, ir 18,9 W bez kompozitora, 21,0 W ar XRender un 20,2 W ar OpenGL. Procesora laiks gan pieaug no 11,2 uz 13,2 milisekundēm sekundē.
Uz NVIDIA slēgtā draivera aina ir citāda. Kadru skaits ar OpenGL nokrīt no 160,9 uz 158,6, taču procesora patēriņš samazinās no 5,8 uz 4,7 W. Ar Mesa zink draiveri abi ceļi dod vienādus 149,1 kadrus. Atšķirība paliek tikai procesora laikā.
Repozitorija apraksts sola apmēram trešdaļu mazāku jaudu un ap 10 % vairāk kadru salīdzinājumā ar XRender. Ar astoņiem logiem, kas zīmē pilnā ātrumā, starpība pieaug līdz 25 %. Atsevišķa iespēja izslēgt kompozitēšanu, kamēr pilnekrāna lietotnei ir fokuss, dod vēl aptuveni 3 % kadru. OpenGL ceļš pēc noklusējuma runā ar draiveri caur EGL, jo tas visos pārbaudītajos draiveros izmaksāja procesoram vismazāk. GLX ieslēdz mainīgais XFWM4_GL_BACKEND=glx. Ja OpenGL nav vismaz 2.0 versijas vai draiveris ir programmatūras renderētājs llvmpipe, kompozitors klusi atgriežas pie XRender.
Kur X11 paliek priekšā
Wayland pēc būtības ir ātrāks par X11, taču ne obligāti efektīvāks. Kompozitēšanā, kas izslēdz openbox, mūsu jaunais xfwm4-gl ir karalis.
Ātrdarbībā labi nostrādāja KDE Plasma uz Wayland. Netālu palika labwc un COSMIC. Jaudas patēriņā LXDE ar Openbox uz X11 un Xfce ar xfwm4-gl bija nedaudz labāki par Wayland variantiem. Zemāko procesora noslogojumu uzrādīja tie paši divi. Openbox salīdzinājumā ir īpašā stāvoklī, jo tas kompozitēšanu neveic vispār, tāpēc arī citāts to no kompozitēšanas vērtējuma izņem.
Ko GNOME sesijā izmērīt nevar
Pirms mērīšanas wmbench pārbauda, kādus protokolus kompozitors saprot. Mutter nesaprot wlr-layer-shell, wp-alpha-modifier, xdg-decoration un wlr-foreign-toplevel. GNOME sesijā tas nozīmē, ka visi testi, kas būvēti no novietotiem logiem, atskaitē parādās kā neizpildīti. cosmic-comp atsakās pārvietot X11 logu, kuru pats pārvalda. Mutter Wayland logu vēlamajā vietā nenovieto vispār. Tādās rindās wmbench atstāj tukšu vietu un atskaites beigās nosauc kompozitoru, kas atteicās, lai neradītu mazu skaitli par darbu, kas nav noticis.
Otrs skripts, validate.sh, meklē deviņus vizuālus defektus: plīsumus ritinot, palikušos pikseļus pēc ritināšanas apstāšanās, izvēlnes pēdas, ekrānu, kas neatgriežas pēc kompozitēšanas apturēšanas pilnekrāna logam. Wayland sesijā tam vajag ekrānuzņēmumu rīku grim, gnome-screenshot vai spectacle. Divi testi Wayland vidē nav pieejami pēc būtības: shape_check, jo formas jēdziena tur nav. Otrs ir leftover_check, jo neviens protokols nepasaka viena loga vietu attiecībā pret citu. Daļskaitļu mērogošana pikseļu pārbaudes izslēdz pavisam, jo loga pikseļi vairs neatbilst ekrānuzņēmuma pikseļiem viens pret vienu.
Stabilitātes pārbaudē visi testi startē un beidzas kopā, ar ritinošu rakstu vidū. Logi atveras pa vienam, katru sagaidot, tāpēc tie sakrājas atvēršanas kārtībā un abas sesijas kompozitē vienu un to pašu ainu. X11 gadījumā kārtību pajautā serverim. Wayland to nolasīt nevar, tāpēc katrs rīks pēc pirmā kadra izdrukā WINDOW-UP un atskaitē kārtība paliek neapstiprināta.
Pārējais PorteuX 2.8
xfwm4-gl kļuva par noklusējuma logu pārvaldnieku Xfce sesijā laidienā, kas iznāca 23. augustā. Wayland sesijās Xfce noklusējums paliek labwc. Tajā pašā laidienā nomainīta arī savienotā failu sistēma: aufs vietā stājas pašu rakstītais aufs-ng ar apmēram 5000 koda rindām iepriekšējo 28 000 vietā. Diska formāts un montēšanas komandu gramatika paliek tādi paši. Uzsildītā sistēmā jaunā failu sistēma aizņem ap trešdaļu iepriekšējās atmiņas, jo seko tikai inodiem.
Laidiens nes kodolu 7.2, GCC 16.2.0 un Mesa 26.2.1. Vecais ntfs draiveris tagad pieņem kolu failu nosaukumos, tāpēc Wine un Proton uz NTFS nodalījumiem sāk strādāt.
Komentāri
Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.