Test na Phoronixu nepoužil na M1/M2 hardwarové kodeky (kódování h265) ani akceleraci GPU pro ten Darktable (opensource driver je vyvíjen na macOS, zatím nebyl portován do Linuxu). Pokud porovnáváme hrubý výkon samotné CPU části toho SoC, tak nezapomeňte, že Apple Silicon ho dosahuje při zlomku spotřeby a (v případě modelů s větrákem) neomezeně dlouho (žádný/minimální throttling po nějaké době). Dále při běhu na baterii se výkon nesníží (pokud používáte notebook výhradně na adaptér, nepřemýšleli jste o desktopu?).
Jinak Apple naopak podporuje vývoj Linuxu na M1/M2. Při spuštění počítače automaticky zavede všechen firmware (viz problémy s NVidií na Linuxu, protože nechce dát firmware pro ovládání frekvence/výkonu) před spuštěním OS dle vaší libosti (není to zablokované a je podporován i dualboot, tj. váš OS vedle macOS, nejen jeho nahrazení - můžete si tak užívat v Linuxu, a když je potřeba udělat nějakou práci, tak přebootujete během mžiku do macOS, kde je k dispozici všechen profesionální komerční software). Apple dokonce opravil nějaké bugy, které měly vliv jen na Linux a ne na macOS.
Jinak Apple naopak podporuje vývoj Linuxu na M1/M2.
Podporu dualboot-u, tedy nezamčení bootloaderu bych nepovažoval za podporu Linuxu. To bych považoval za NEházení (některých) klacků pod nohy.
Podporu Linuxu bych viděl jako spoustu příspěvků Apple do Linuxového jádra pro zprovoznění jejich HW. Pokud by nechtěli mrhat vlastním časem na nějakej nezajímavej Linux, tak alespoň uvolnění/zpřístupnění specifikace, aby se nemuselo reverzně inženýrovat.
Ale proti (dřívějšímu) chování NVIDIA se to celé skutečně musí jevit jako podpora.
Mno pro vývojáře ano, ale pro uživatele uzavřený Nvidia driver i pro Linux vždy byl. Apple nedělá ani ty uzavřené drivery...
Jakékoliv snahy simulovat Apple ve vývoji pro M* vidím jako zbytečnost, víceméně ti vývojáři odpracovávají práci, kterou měl udělat, Apple pokud by chtěl získat uživatele z Linuxové komunity a prodat pár těch kousků M1-2... navíc. Ale když je to baví...
A proč vlastně portovat Linux na Apple, stejně to bude používat tak 0.01% uživatelů, tak proč to vlastně testovat? Stejně se ta podpora současným přístupem bez dokumentace nikdy neudělá na 100%. Ani můj notebook po roce stále nefunguje v Linuxu na 100%, protože HP tomu nedává žádnou podporu a to je to složené z běžných součástek. Například Bluetooth pořád blbne (při odpojení napájení přejde do úsporného režimu a občas už to nerozchodí), čtečka otisků prstů nefunguje a sensor otočení taky ne. Jestli bych pro něco hlasoval, tak povinnost výrobce dávat kompletní servisní a vývojovou dokumentaci. U auta z roku 1972 jsme měli kompletní servisní manuál do posledního šroubku. U auta z roku 1999 jsem ho ještě sehnal, ale pro dnešní auta už člověk pomalu nedostane ani uživatelský manuál. Nebo jsme měli věž Grundig a přenosný kazaťák JVC a k oběma jsme dostali komplet schéma zapojení. Dnes člověk nedostane nic a výrobce prdí na jakoukoliv podporu, žádosti o řešení odbývá.
Testy hw kodeků sice znějí dobrře, ale pak by se k tomu měl taky přidat test kvality toho kodeku. Softwarové kodeky jsou sice pomalejší, ale o dost kvalitnější. Navíc při exportu ze střižny zabere spoustu času kompozice a tak můžete mít kodek jak chcete rychlý, ale stejně pak čeká na procesor, až mu dodá data. Navíc tyto kompozice nejsou většinou vívevláknové, protože vše závisí na výsledku předchozí operace a dělat obecnou pipeline je složité, takže zbylá jádra procesoru mají čas kódovat, takže ve výsledku je celý export softwarově v podstatě stejně časově náročný jako při využití hardwarového kodeku. Má to význam snad jen, když si chcete překódovat film nebo pro online kódování kamerového streamu. Pro střih videa to nemá valný význam i když jsou snahy tu kompozici předávat grafickému akcelerátoru (tady to zase vázne při přenosu dat mezi pamětí procesoru a pamětí GPU).
Další věc je - střihá někdo na notebooku? Já tedy ne. Ne že by to nešlo, ale na tom prťavým displeji to není žádný med. A někde ve vlaku už si to nedovedu vůbec představit.
Kvalita je tragická u AMD (Google v cloudu Stadia musí používat separátní čipy pro encoding), ale u NVidia a Apple je dobrá. Samozřejmě pokud máte neomezený časový budget, tak softwarový kodek bude vždycky top. Zpracování obrazu, např. color grading, je dnes taky akcelerované, přes GPU, a tam Apple taky září (kromě base M1/M2, kde je iGPU relativně slabé).
> ve výsledku je celý export softwarově v podstatě stejně časově náročný jako při využití hardwarového kodeku
Tady mi hlava nebere, proč se tedy implementuje HW akcelerace, když jsou to obvody zbytečně navíc?
> Pro střih videa to nemá valný význam i když jsou snahy tu kompozici předávat grafickému akcelerátoru
Opět, proč se např už desítky let vyvíjí hardware pro akceleraci stříhání videa za desetitisíce, když to podle vás stejně rychle zvládne CPU?
Jinak na notebooku se stříhá proto, že to na něj nahraješ v terénu, skoukneš, že ok, pak stříháš doma, aniž bys musel kopírovat nějaké soubory někam na další počítač a otevírat projekt do toho samého místa, a nakonec to můžeš ještě cestou k zákazníkovi a pak u zákazníka doladit. Na stole samozřejmě připojíš ten samý monitor, co bys měl jinak u desktopu (ale mimo stůl je dobrý mít kvalitní interní displej).
A proč vůbec řešíme práci na notebooku? No protože článek je o notebookách. Pokud děláte jen na pracovním stole, s externím monitorem a připojeným adaptérem, tak doporučuju desktop. Tam samozřejmě máte k dispozici výkonné CPU a dGPU. Sice dost žerou, ale pokud nejste omezeni prostorem, tak kvalitní velký case to dokáže uchladit tiše.
EDIT: "tady to zase vázne při přenosu dat mezi pamětí procesoru a pamětí GPU)" -- Tohle práve Apple krásně řeší sdílenou L2 cache. Žádná data se nikam nekopírují. CPU, GPU, NPU a ISP je vidí dohromady.
17. 8. 2022, 15:54 editováno autorem komentáře
> proč se tedy implementuje HW akcelerace, když jsou to obvody zbytečně navíc?
HW encodery jsou tu hlavně kvůli mobilním platformám (kde špatnou kvalitu kompenzuje mnohem vyšší bitrate) a kvůli aplikacím, ve kterých kvalitu nikdo neřeší, např. videokonference. Je obří rozdíl (v zátěži a teplotě) když pustíte Teams nebo Meet na Firefoxu, který nemá VAAPI encoding, a třeba na Chromiu, kde to přes HW encoder jede.
Co je podle vás pořádné řešení? Z mé zkušenosti většina videokonferenčních služeb používá VP8/9 včetně těch rozšířených jako Google Meet nebo Bluejeans.
Diskuse je o hardwarové akceleraci videokonferencí, OpenH264 od Cisca je softwarový kodek, takže pokud chci mít konferenční hovory hardwarově akcelerované, je mi platný jako mrtvému zimník.
Tak jestli používáte nějaké obskurní řešení pro konference, které kašle na aktuální podporu HW kodeků v zařízeních, to je na vás. Ve firmách se používá Teams, a ten s tím nemá problém.
Jinak Firefox používá na desktopu málo lidí, tam můžeme být rádi aspoň za tu softwarovou podporu. Mnohem lepší, než kdyby to nefungovalo vůbec. Desktop v pohodě SW encoding utáhne. A na mobilech používá Firefox jen 1 % uživatelů, takže ten můžete úplně ignorovat.
No, nevím, jestli bych zrovna Google Meet, který je součástí Google Workspace, který používají opravdu mraky firem, nazval obskurním řešením. To samé platí o Bluejeans.
Jestli tedy podle vaší definice platí pořádná videokonferenční služba = MS Teams, tak potom jo. V takovém případě vám musím dát zapravdu, že všechny pořádné služby používají H264. :)
Ne, pořádná služba=používá HW kodeky, které jsou v běžných dnešních zařízeních. Nebo ať si lidi na Rootu nestěžujou, že jejich zařízení ten kodek nemá ;-) Jinak diskuze začala kodeky, ne konkrétními službami (já jsem asi deformovaný tím, že firmy obvykle používají Windows server - i kdyby klienti byly třeba macbooky a iPhony).
EDIT: Byl to Apple, kdo dlouho vzdoroval VP9. Jak už tu bylo řečeno, Android ho umí v HW, PC ho taky umí v HW (je v Intel iGPU - mimochodem kodek zablokovaný na Intel Macs).
18. 8. 2022, 16:57 editováno autorem komentáře
Color grading nechávám filmařům, já točím realitu, takže to nepotřebuji. A barvy se snažím řešit v terénu, jakékoliv korekce jsou vždy už jen korekece vlastních chyb, tak se jich snažím vyvarovat (občas se ale nepovede nbeo to ani nejde). A jinak ty různé přechody a efekty rozhodně akcelerované nejsou, to se v GPU dost blbě programuje. U barev si to představit dovedu, ale to je tak vše.
Na to, abych se podíval, co jsem natočil, notebook možná dobrý je, ale na to mi stačí i ta kamera nebo mobil.Kopírovat nic nemusím, až doma. Když něco stříhám, tak to stejně nemám za pár minut. Teď naposled jsem dělal sestřih z formule a výsledek cca 12 minut mi trvalo sestříhat asi tak 6 hodin. Přes hodinu záznamu jem vyházel. Někde v terénu to rozhodně dělat nebudu. A nevím, proč bych měl připojovat k notebooku nějaké periferie, notebook mám na tahání nebo případně při programování si udělám pohodlí a sednu si s ním do křesla. A bez monitoru. Ten výstup používám jen na prezentace na poradách. Jinak vše mám sychronizované a zálohované přes OpenProject/Nextcloud/SVN, takže vůbec nic neřeším. Když dopracuju na notebooku, přejdu na desktop a mám tam to samé. Je rok 2022 proboha.
Render těch 12 minut trval v1080p50 softwarově necellých 5 minut (ffmpeg/x264). Přes vaapi to trvalo tak 4 minuty, takže za mne žádný rozdíl. A rozhodně nemám chuť používat nadměrné bitrate. Tento přístup je problém dnešního světa - mít to hned, co mně zajímá, že to má mizernou kvalitu a je to 2x takový. Ať si každý připlatí rychlejší internet, že?
Tím nechci říct, že ty hw akcelerátory nemají smysl, ale jak jsem už psal, na live streamy, konference apod. je to super. Ale zase bych nepřeceňoval jejich použití.
> Ten color grading je i o tom, aby ten záznam pro pozorovatele vypadal +- jako by byl na místě i když na to kouká v úplně jiných podmínkách.
To asi těžko, když nevíte, kde na to budete koukat. Color grading má dodat filmu nějakou atmosféru, tedy je to celé posazené třeba do zelené apod. To není korekce barev, tedy vesměs vyvážení bílé. Ale to samozřejmě neznamená, že bílá musí být vždy bílá. Spíš by to mělo odrážet realitu (žluté žárovky spod.)
No ale právě žluté žárovky jsou hezký příklad. Pokud tam fyzicky jste, tak váš mozek barvy opraví. Ale v záznamu to musíte poladit, jinak bude celá scéna žlutá - a všichni ji uvidí žlutě.
EDIT: Podobně když brácha dělal color grading pro pořad na Primě. Natáčelo se venku na poli a pluly mraky. Mozek se přizpůsoboval, ale ve videu je scéna střídavě světlejší a tmavší.
20. 8. 2022, 13:56 editováno autorem komentáře