د ګوګل او بینومیال خلاصې سرچینې اساس یونیورسل جوړښت کمپریشن سیسټم

ګوګل او بینومیال پرانيستل شو د سرچينې کوډ نړیوال اساس، د اغیزمن جوړښت کمپریشن لپاره کوډیک او د عکس او ویډیو پراساس جوړښتونو توزیع کولو لپاره اړوند یونیورسل ". اساس" فایل فارمیټ. د حوالې پلي کولو کوډ په C++ کې لیکل شوی او چمتو شوی د اپاچی 2.0 لاندې جواز شوی.

اساس یونیورسل مخکې بشپړوي خپور شوی د ډراکو 3D ډیټا کمپریشن سیسټم او هڅه کوي د GPU لپاره د جوړښتونو رسولو سره ستونزه حل کړي. تر دې دمه ، پراختیا کونکي د ټیټ کچې فارمیټونو ترمینځ غوره کولو پورې محدود دي چې لوړ فعالیت ترلاسه کوي مګر د GPU ځانګړي دي او د ډیسک ډیری ځای نیسي ، او نور فارمیټونه چې د اندازې کمښت ترلاسه کوي مګر نشي کولی په فعالیت کې د GPU جوړښت سره سیالي وکړي.

د اساس یونیورسل فارمیټ تاسو ته اجازه درکوي د اصلي GPU جوړښت فعالیت ترلاسه کړئ ، مګر د کمپریشن لوړه کچه چمتو کوي.
اساس یو منځمهاله بڼه ده چې د کارولو دمخه د ډیسټاپ سیسټمونو او ګرځنده وسیلو دواړو کې د کارولو لپاره مختلف ټیټ کچې فارمیټونو ته د GPU جوړښتونو ګړندي ټرانسکوډینګ چمتو کوي. اوس مهال ملاتړ شوي PVRTC1 (4bpp RGB)، BC7 (6 RGB حالت)، BC1-5، ETC1، او ETC2 فارمیټونه. راتلونکی ملاتړ د ASTC فارمیټ (RGB یا RGBA) او 4/5 RGBA حالتونو لپاره د BC7 او 4bpp RGBA لپاره د PVRTC1 لپاره تمه کیږي.

د ګوګل او بینومیال خلاصې سرچینې اساس یونیورسل جوړښت کمپریشن سیسټم

په اساسی شکل کې جوړښتونه د ویډیو حافظه 6-8 ځله لږ وخت نیسي او د JPEG فارمیټ پراساس د عادي جوړښتونو په پرتله نږدې نیمایي ډیټا لیږدولو ته اړتیا لري او په RDO حالت کې د جوړښتونو څخه 10-25٪ کم. د مثال په توګه، د 891 KB د JPEG انځور اندازه او د 1 MB ETC1 جوړښت سره، د بیسس فارمیټ کې د ډیټا اندازه په لوړ کیفیت حالت کې 469 KB ده. کله چې په ویډیو حافظه کې جوړښتونه ځای په ځای کړئ ، په ازموینو کې کارول شوي JPEG او PNG جوړښتونه 16 MB حافظه مصرفوي ، پداسې حال کې چې جوړښت
اساس BC2، PVRTC1 او ETC1 ته د ژباړې لپاره 1 MB حافظې ته اړتیا لري، او BC4 ته د ژباړې لپاره 7 MB.

د ګوګل او بینومیال خلاصې سرچینې اساس یونیورسل جوړښت کمپریشن سیسټم

بیسیس یونیورسل ته د موجوده غوښتنلیکونو مهاجرت پروسه خورا ساده ده. دا کافي ده چې موجوده جوړښتونه یا عکسونه په نوي فارمیټ کې د پروژې لخوا چمتو شوي "بیسو" کارونې په کارولو سره ریکوډ کړئ ، د اړتیا وړ کیفیت کچه ​​غوره کړئ. بیا ، په غوښتنلیک کې ، د رینډرینګ کوډ دمخه ، تاسو اړتیا لرئ د بیسو ټرانسکوډر پیل کړئ ، کوم چې د اوسني GPU لخوا ملاتړ شوي ب formatه کې د مینځنۍ ب formatې ژباړلو مسؤلیت لري. په ورته وخت کې، د ټول پروسس کولو سلسله کې انځورونه کمپرس شوي پاتې دي، په شمول په GPU کې په کمپریس شوي شکل کې بار شوي. د دې پرځای چې په بشپړ ډول د بشپړ عکس ټرانسکوډ کولو لپاره ، GPU په انتخابي ډول د عکس یوازې اړین برخې ډیکوډ کوي.

دا په یوه فایل کې د متفاوت جوړښت اریونو (کیوب میپس) ، حجمیتریک جوړښتونو ، جوړښت سرې ، د میپ میپ کچې ، ویډیو ترتیب یا د خپل سري جوړښت ټوټې خوندي کولو ملاتړ کوي. د مثال په توګه، دا ممکنه ده چې د کوچنیو ویډیوګانو جوړولو لپاره په یوه فایل کې د عکسونو لړۍ بسته کړئ، یا د ټولو انځورونو لپاره د یو عام پیلټ په کارولو سره ډیری جوړښتونه یوځای کړئ او د عادي انځور ټیمپلیټونه نقل کړئ. د اساس یونیورسل کوډګر پلي کول د OpenMP په کارولو سره د څو تارونو کوډ کولو ملاتړ کوي. ټرانسکوډر اوس مهال یوازې په واحد - تار شوي حالت کې کار کوي.

برسیره شتون لري د براوزرونو لپاره اساس یونیورسل ډیکوډر، د WebAssembly بڼه کې وړاندې شوی، کوم چې د WebGL پر بنسټ ویب غوښتنلیکونو کې کارول کیدی شي. په نهایت کې، ګوګل اراده لري چې په ټولو لوی براوزرونو کې د بیس یونیورسل ملاتړ وکړي او دا د ویب جی ایل او راتلونکي مشخصاتو لپاره د پورټ ایبل جوړښت فارمیټ په توګه وده ورکړي. ویب جی پی یو، په مفهوم ډول د ولکان، فلزي او Direct3D 12 APIs سره ورته دی.

د یادونې وړ ده چې یوازې د GPU اړخ کې د هغې د راتلونکي پروسس کولو سره د ویډیو سرایت کولو وړتیا بیسس یونیورسل په WebAssembly او WebGL کې د متحرک کارونکي انٹرفیسونو رامینځته کولو لپاره په زړه پوري حل رامینځته کوي ، کوم چې کولی شي په ورته وخت کې د لږترلږه CPU بار سره سلګونه کوچني ویډیوګانې ښکاره کړي. تر هغه چې د سیمډ لارښوونې د دودیز کوډیکونو سره په WebAssembly کې کارول کیدی شي، د فعالیت دا کچه لاهم د لاسته راوړلو وړ نه ده، نو د جوړښت پر بنسټ ویډیو په هغو سیمو کې کارول کیدی شي چیرې چې دودیز ویډیو د تطبیق وړ نه وي. د ویډیو لپاره د اضافي اصلاح کولو کوډ اوس مهال د خپرولو لپاره چمتو کیږي، په شمول د کارولو وړتیا I- چوکاټونه او P- چوکاټونه د تطبیق وړ پیډینګ (CR) ملاتړ سره.

سرچینه: opennet.ru

Add a comment