The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Google открыл код SwiftShader, программной реализации OpenGL..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от opennews (??), 29-Июн-16, 22:12 
Компания Google объявила (http://blog.chromium.org/2016/06/universal-rendering-with-sw...) о полном открытии исходных текстов библиотеки SwiftShader (https://swiftshader.googlesource.com/SwiftShader), в рамках которой подготовлена система высокопроизводительного рендеринга, предоставляющая  реализацию графических API OpenGL ES 1.1/2.0/3.0 и Direct3D 9, выполняемую на CPU. Код открыт (https://swiftshader.googlesource.com/SwiftShader) под лицензией Apache 2.0.


Целью проекта является предоставление возможности отображения расширенной 3D-графики независимо от используемого оборудования и графических драйверов. SwiftShader уже задействован Chrome для организации работы WebGL на системах без современных GPU или для обхода проблем в графических драйверах, а также предложен в инструментах для разработчиков Android. SwiftShader также может применяться на серверных системах без GPU для организации рендеринга  и работы графических приложений в облачных окружениях.

Для достижения должного уровня производительности в SwiftShader применяется ряд технологий для ускорния графических вычислений на CPU. Например, в процессе выполнения приложения применяются динамические методы (https://en.wikipedia.org/wiki/Run-time_algorithm_specialisation) оптимизации алгоритмов, подстраивающиеся под особенности текущей задачи. Для динамической генерации и специализации кода применяется встраиваемый язык Reactor (https://swiftshader.googlesource.com/SwiftShader/+/master/do...).


Для рендеринга применяются три базовых обработчика, образующих слой Renderer: VertexProcessor, SetupProcessor и  PixelProcessor. Каждый из данных обработчиков формирует процедуры на языке Reactor, обеспечивает кэширование уже созданных процедур и управляет состоянием графики. Для ускорения в SwiftShader также активно применяются векторные инструкции CPU (SIMD) и технологии распараллеливания выполнения в несколько потоков, вовлекающие в работу все имеющиеся ядра CPU.


Для использования библиотеки в Linux не требуется модификация приложения, так как SwiftShader выступает в роли прозрачной замены графических драйверов - достаточно скопировать предоставляемые SwiftShader разделяемые библиотеки libGLES или libEGL в каталог с библиотеками, на который указывает переменная окружения LD_LIBRARY_PATH. В Windows привязка библиотеки к приложению может быть осуществлена через размещения в каталоге программы соответствующей DLL.


URL: http://blog.chromium.org/2016/06/universal-rendering-with-sw...
Новость: http://www.opennet.ru/opennews/art.shtml?num=44697

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Google открыл код SwiftShader, программной реализации OpenGL..."  –1 +/
Сообщение от Аноним (-), 29-Июн-16, 22:12 
LLVM к победе!
Ответить | Правка | Наверх | Cообщить модератору

2. "Google открыл код SwiftShader, программной реализации OpenGL..."  +8 +/
Сообщение от anonymous (??), 29-Июн-16, 22:12 
Имхо, подобные штуки вряд-ли должны быть в браузере. Я за UNIX-way, а не ой вэй.
Ответить | Правка | Наверх | Cообщить модератору

8. "Google открыл код SwiftShader, программной реализации OpenGL..."  +11 +/
Сообщение от Crazy Alex (ok), 29-Июн-16, 23:24 
Нынешние браузеры в этом плане - сплошной ой вэй.
Ответить | Правка | Наверх | Cообщить модератору

14. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от Аноним (-), 30-Июн-16, 09:15 
А компьютер - это UNIX-way? На нем и поиграть можно, и в 1С отчетность вести, и на опеннете поагитировать за UNIX-way.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

20. "Google открыл код SwiftShader, программной реализации OpenGL..."  +7 +/
Сообщение от Аноним84701 (?), 30-Июн-16, 13:36 
> А компьютер - это UNIX-way?

Вы не поверите, но обычно таки устройства для вывода изображения, ввода/хранения данных, подключения к сети и т.д. идут раздельно и вполне спокойно (пока) заменяются/подключаются  — ну там более быстрая графика плюс геймпад для игрушек,  проф. звуковая карта и прочее для музыкантов-звуковиков, мониторы с клавиатурами на вкус и цвет для всех желающих.

Т.е., путем подбора/замены отдельных компонентов компютера можно очень неплохо "заточить" его под какую-то задачу.

А вот наоборот обычно таки не катит — на "мобилке" и бухучет вести неудобно, и с музыкой особо не поработаешь и в стрелялку-что-то-там не поиграешь и даже на опеннете троллить не ахти …

Ответить | Правка | Наверх | Cообщить модератору

15. "Google открыл код SwiftShader, программной реализации OpenGL..."  –3 +/
Сообщение от leap42 (ok), 30-Июн-16, 09:22 
есть мнение, что тот самый UNIX-way про который все говорят (одна утилита под каждую задачу и всё такое) был актуален в момент своего появления, лет, эдак, 40 назад, но не сейчас. сами посудите: тогда код был закрытый, а программистов было очень мало. шансы на то, что исходники посмотрит хотя бы ещё два человека кроме автора, тоже были малы, и малый футпринт был единственным способом выдавать софт приличного качества. сейчас расклады по коду и программистам здорово изменились, и даже гигантские проекты вроде Linux Kernel вполне себе могут быть качественными.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

16. "Google открыл код SwiftShader, программной реализации OpenGL..."  –2 +/
Сообщение от Наркоман (?), 30-Июн-16, 11:13 
Не мешай верующим верить, что юниксвей где-то есть.
Ответить | Правка | Наверх | Cообщить модератору

19. "Google открыл код SwiftShader, программной реализации OpenGL..."  +5 +/
Сообщение от Crazy Alex (ok), 30-Июн-16, 12:04 
Есть мнение, что даже качественные проекты, если они не умеют внятно комбинироваться/управляться пользователем:
1) не дают возможности решить кучу задач, которые легко решаются комбинированием
2) вместо сравнительно простой ментальной модели заставляет пользователя запоминать вагон отдельных вариантов действий, которые для unix way легко выводятся при нужде
3) неудобны для автоматизации

Другими словами, для power user это неудобно.

С другой стороны - тот unix way, который обычно поминают (текстовые команды, пайпы и нетипизированные потоки):
1) адски неэффективен на нынешних объёмах данных из-за кучи IPC
2) рискован в плане непредсказуемых эффектов, так как приходится парсить кучу довольно непредсказуемого текста
3) имеет хреновый для запоминания/понимания интерфейс - сейчас количество ключей запросто за сотню зашкаливает
4) проблематичен при двустороннем обмене - например, я не представляю, как сказать find на основе анализа отданного им файла, что все следующие такого же типа надо пропустить
5) не умеет ничего нелинейного - есть один stdin и один stdout, если надо поток расщепить на два - универсального решения нет.

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

22. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от SysA (?), 30-Июн-16, 17:26 
Позвольте с Вами отнюдь!..
> ...
> С другой стороны - тот unix way, который обычно поминают (текстовые команды,
> пайпы и нетипизированные потоки):
> 1) адски неэффективен на нынешних объёмах данных из-за кучи IPC

да ладно! на нынешней же аппаратуре?!..

> 2) рискован в плане непредсказуемых эффектов, так как приходится парсить кучу довольно
> непредсказуемого текста

как-то не в тему - ошибки/неожиданности могут быть всегда и везде, - как монолитность может помочь - не понимаю! Но наоборот - в мелкой и простой задаче/действии легче и надежнее решение.

> 3) имеет хреновый для запоминания/понимания интерфейс - сейчас количество ключей запросто за сотню зашкаливает

Опять же - как правило это наоборот, для монстров, а не unix way! Если ты делаешь одну операцию, то тебе не надо 100500 опций.

> 4) проблематичен при двустороннем обмене - например, я не представляю, как сказать
> find на основе анализа отданного им файла, что все следующие такого
> же типа надо пропустить

И опять недопонимание unix way - этот фильтр должен делать следующий в цепочке модуль, например, тот, кто делал анализ

> 5) не умеет ничего нелинейного - есть один stdin и один stdout,
> если надо поток расщепить на два - универсального решения нет.

ну откройте для себя 'tee'

Ответить | Правка | Наверх | Cообщить модератору

24. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от Аноним (-), 30-Июн-16, 23:41 
> на нынешней же аппаратуре?!..

Для вычислительных мощностей можно найти более полезное применение, чем нескончаемые пребразования из представлений, специфичных для конкретных программ, в текст и обратно (внутренние структуры программы 1 -> текст -> в.с.п. 2 -> текст -> в.с.п. 3 -> текст -> ...). Текстовое представление универсально в плане возможности представления чего угодно, но крайне неэффективно для машинной обработки.

> ошибки/неожиданности могут быть всегда и везде

Да, но генерация и парсинг текста более подвержен ошибкам и сюрпризам, чем обработка бинарных данных. Например, 32-битное целое в бинарном виде -- всегда 4 байта, которые достаточно прочитать из памяти и сразу использовать без всяких заморочек с преобразованиями (в обсуждаемом контексте набора локально выполняемых программ порядок байт значения не имеет), в текстовом представлении появляются форматы JSON/XML/YAML/CSV/..., системы счисления и плоды фантазии разработчика конкретной программы, "участвующей" в цепочке обработки данных. Предусмотреть все возможные варианты нереально. А для чисел с плавающей точкой при использовании текстового промежуточного представления добавляется ещё и повышенный риск накопления ошибок из-за одних только неточностей преобразования в текст и обратно.

> ну откройте для себя 'tee'

И как он поможет, например, одним вызовом "find" сформировать по потоку на каждый из фильтров?

Unix-way, безусловно, имеет свои преимущества, но он всё же не так хорош, как это пытаются показать [некоторые] его сторонники. Концепция комбайнов, хоть и не даёт такой гибкости, тоже не лишена плюсов. Очевидно, что идеального ничего нет.

Ответить | Правка | Наверх | Cообщить модератору

27. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от гест (?), 12-Июл-16, 01:24 
> Да, но генерация и парсинг текста более подвержен ошибкам и сюрпризам, чем обработка бинарных данных.

Похоже путаешь слова "структурированный" и "бинарный"
Если неизвестна структура, то обработка бинарных данных вообще невозможна.

Ответить | Правка | Наверх | Cообщить модератору

28. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от Аноним (28), 28-Фев-20, 19:57 
А Вы попробуйте, произвести "расшифровку" (математическое преобразование) бинарных данных, глядишь структура и появится! ;)
Ответить | Правка | Наверх | Cообщить модератору

25. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от adolfus (ok), 01-Июл-16, 12:52 
> сть мнение, что даже качественные проекты, если они не умеют внятно
> комбинироваться/управляться пользователем:
> 1) не дают возможности решить кучу задач, которые легко решаются комбинированием

дело в том, что проект, который "не позволяет решать кучу задач комбинированием", от личется от того, который "позволяет", тем, что позволяет разрабам грести лопатой бабло за встраивание дополнительных "вариантов использования". Мало того, на курсах, где читают UML, об этом прямо и говорят -- при любой возможности вместо того и того, следует использовать "варианты использования" -- это гарантированно позволяет взять с длинного заказчика бабала кратно больше.

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

3. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от Анонимemail (3), 29-Июн-16, 22:20 
Порт под netbsd? А то данную ОС обидели графикой
Ответить | Правка | Наверх | Cообщить модератору

5. "Google открыл код SwiftShader, программной реализации OpenGL..."  +1 +/
Сообщение от Аноним (-), 29-Июн-16, 22:26 
А netbsd используется с иксами?
Ответить | Правка | Наверх | Cообщить модератору

21. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от Анонимомус (?), 30-Июн-16, 16:55 
> А netbsd используется с иксами?

А netbsd используется? [FIXED]

Ответить | Правка | Наверх | Cообщить модератору

4. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от Аноним (-), 29-Июн-16, 22:24 
оу крутяк теперь ясно почему тыренье хромовской либглес чинило многие игори на старой железке.. хехехе
Ответить | Правка | Наверх | Cообщить модератору

7. "Google открыл код SwiftShader, программной реализации OpenGL..."  +1 +/
Сообщение от Bicycle (ok), 29-Июн-16, 23:02 
Киньте ссылку на почитать про эту инфу. Буду благодарен.
Ответить | Правка | Наверх | Cообщить модератору

6. "Google открыл код SwiftShader, программной реализации OpenGL..."  +1 +/
Сообщение от Аноним2.0b (?), 29-Июн-16, 22:34 
А этим можно починить глюки в Вайне?
Ответить | Правка | Наверх | Cообщить модератору

11. "Google открыл код SwiftShader, программной реализации OpenGL..."  +1 +/
Сообщение от Какаянахренразница (ok), 30-Июн-16, 05:29 
> объявила о полном открытии исходных текстов

Открывай меня полностью.

P.S.: Зачем здесь слово "полный"? Бывает неполное открытие? Недооткрытие? Приоткрытие?

Ответить | Правка | Наверх | Cообщить модератору

12. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от Andrey Mitrofanov (?), 30-Июн-16, 07:31 
> P.S.: Зачем здесь слово "полный"? Бывает неполное открытие? Недооткрытие? Приоткрытие?

Новости про Microsoft и "Linux" видел? Сорта опенсурса. Понимать же надо.

Ответить | Правка | Наверх | Cообщить модератору

13. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от MyName (??), 30-Июн-16, 09:14 
> Бывает неполное открытие?

У Microsoft, например, бывает открыли под лицензией "можно смотреть, но руками не трогать, в смысле даже компилировать нельзя". А чё, исходинки-то открытые, значит открыли...

В этой новости, конечно, можно было бы написать "Открыли под открытой лицензией", но это тоже звучит не очень.

Ответить | Правка | К родителю #11 | Наверх | Cообщить модератору

17. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от Аноним (-), 30-Июн-16, 11:57 
типа замена mesa?
Ответить | Правка | Наверх | Cообщить модератору

18. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от Аноним (-), 30-Июн-16, 12:02 
Правильно ли я понял, что благодаря наличию этой хреновины хром может (мог) работать лучше хромиума на некоторых железках?
Ответить | Правка | Наверх | Cообщить модератору

26. "Google открыл код SwiftShader, программной реализации OpenGL..."  +/
Сообщение от Аноним (-), 02-Июл-16, 20:43 
* "встраиваемый язык Reactor" + ets - ууу шлакище, и забудьте про доп.оптимизацию компилятором
* и потому же даже не глядя - понятно: ценность кода 0%
* гугл "открыл" - не значит убрал проприетарность, лень смотреть - но, Apach2.0 врядли = BSD лицензия
* гугл "открыл" т.к.Dx9 - подустарел... видать надеются на то что их, fucked Adroid гугл, коды - найдутся лошки и рабы за бесплатно допиливать его им...
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру