Mesa драйвърът става по-бърз с още OpenGL Threading подобрения

0
52
Mesa Vulkan

Mesa получава още OpenGL Threading подобрения благодарение на Marek Olšák от AMD.

Драйвърният Linux пакет с отворен код Mesa за видео картите на Intel и AMD става все по-бърз с годините и се стигна до момент, в който той е по-бърз дори и от фирмения драйвър на AMD.

Започналата преди няколко години работа по OpenGL Threading (glthread) от страна на разработчика от AMD Marek Olšák подобрява още повече бързодействието при много Linux игри.

Glthread е функция, която присъства вече от няколко години при Mesa пакета, която води до по-добро използване на многонишковост при процесора, повишавайки бързодействието при някои игри със зашеметяващите 60-70%.

Благодарение на OpenGL Threading се наблюдава подобрение при Civilization VI с прираст в бързодействието от 20%, при Border Lands 2 50%, при Alien Isolation 60%, 7 Days To Die 30%, а при BioShock Infinite цели 76%.

Игрите се тестват внимателно и чак тогава влизат в белия списък, което означава, че могат да използват по подразбиране OpenGL Threading без това да предизвиква проблеми, като дори и сега този подход продължава, докато се осигури безпроблемна работа за по-голямата част от игровите заглавия.

През миналия месец Olšák свърши още много работа по glthread като има различни подобрения по кода, работи по ъплоуд на non-VBO vertices и indices, а към белия списък с игри е включена и играта „From The Depths“.

Сега обаче има нова поредица от пачове, като първоначалният пакет включва още много допълнителни промени по glthread. При играта The Open Racing Car Simulator (TORCS) е постигнато увеличаване на бързодействието с 5% благодарение на промени в кода, които въвеждат заобикаляне на нулеви буферни обекти.

Прочетете още:  SteamVR Home вече работи и под Linux

При тази първоначална вълна от промени са налични още промени като по-бърз glPush/PopClientAttrib, по-бърза VAO инициализация, нова функция под формата на възможност за създаване на struct gl_buffer_object, който да се мапва от всяка една нишка, glBufferSubData е вече асинхронен за всеки размер, добавени са нови glInternal* функции, които вземат struct gl_buffer_object * за изпълнението на буферно копие и създават vertex и index буфери за glthread и още.

Оказва се, че всички тези промени водят до прираст от 16% в бързодействието при TORCS и с до 40% по-голяма бързина, в сравнение с Mesa, при която не се използва glthread.

Надеждите са тази нова работа да успее да намери място в Mesa 20.1, която версия влиза в замръзнал стадий по-късно този месец, а финалната версия се очаква някъде в края на май 2020-а година.

5/5 (1 Review)