История изменений
Исправление khrundel, (текущая версия) :
Использовать opengl только для блиттинга или тем более ресолвинга (когда текстура не скейлится) крааайне неэффективно
И не только это. Иксы и другие гуи того времени рисовали в общий буфер и крайне эффективно экономили память. Композитинг наверное можно было сделать в середине 90х, но это было слишком дорого и лучше было обойтись без него, потерпев косяки рендеринга. С другой стороны в середине нулевых уже не было необходимости крутить гуй на десятке мегабайт, поэтому можно было и композитинг запилить, получив более отзывчивый интерфейс и бесплатно всякие красивости.
Однако вопрос не в этом, а вот в чём:
Или же получить тот же результат, ПРОСТО ЗАПУСТИВ ГРЁБАННЫЕ ИКСЫ.
На словах это звучит вообще классно, запустил иксы и получил нахаляву. Но в реале всё ровно наоборот. Чтоб вызвать функцию блита надо чтоб она была в сервере. Т.е. тебе чисто повезло, что твоя железяка и xorg говорят на одном языке. Если бы это был wlorg, написанный в десятых под актуальное на тот момент железо, то там бы не было этого блиттинга и тебе, даже если ты сам пишешь софт под свою же железку, пришлось бы делать форк сервера wlorg. Но… проблема в том, что никакого wlorg никогда бы не существовало, сам проект вейланд запущен от того, что разработчиков современных DE задолбало сидеть верхом на чёрном ящике xorg, который норовит перейти в какое-то неожиданное состояние из-за чего всё сломается, им проще выполнить необходимый набор функций самим. Так что в реале, если бы тебе захотелось написать свой прикладной софт под свою же железяку с блиттингом вместо opengl, тебе бы пришлось форкать не 1 wlorg, а mutter, kwin, mir и ещё сверху wlroots.
Так не лучше ли тебе, делая линукс под твою железяку, добавить бэкенд в одну библиотеку cairo и получить поддержку большей части софта? Или, если cairo не подходит под твою же железяку, запилить библиотеку shmairo и по крайней мере добиться что твой собственный софт, использующий эту shmairo будет работать эффективно и на любом DS, хоть на sway, хоть на KDE?
Исходная версия khrundel, :
Использовать opengl только для блиттинга или тем более ресолвинга (когда текстура не скейлится) крааайне неэффективно
И не только это. Иксы и другие гуи того времени рисовали в общий буфер и крайне эффективно экономили память. Композитинг наверное можно было сделать в середине 90х, но это было слишком дорого и лучше было обойтись без него, потерпев косяки рендеринга. С другой стороны в середине нулевых уже не было необходимости крутить гуй на десятке мегабайт, поэтому можно было и композитинг запилить, получив более отзывчивый интерфейс и бесплатно всякие красивости.
Однако вопрос не в этом, а вот в чём:
Или же получить тот же результат, ПРОСТО ЗАПУСТИВ ГРЁБАННЫЕ ИКСЫ.
На словах это звучит вообще классно, запустил иксы и получил нахаляву. Но в реале всё ровно наоборот. Чтоб вызвать функцию блита надо чтоб она была в сервере. Т.е. тебе чисто повезло, что твоя железяка и xorg говорят на одном языке. Если бы это был wlorg, написанный в десятых под актуальное на тот момент железо, то там бы не было этого блиттинга и тебе, даже если ты сам пишешь софт под свою же железку, пришлось бы делать форк сервера wlorg. Но… проблема в том, что никакого wlorg никогда бы не существовало, сам проект вейланд запущен от того, что разработчиков современных DE задолбало сидеть верхом на чёрном ящике xorg, который норовит перейти в какое-то неожиданное состояние из-за чего всё сломается, им проще выполнить необходимый набор функций самим. Так что в реале, если бы тебе захотелось написать свой прикладной софт под свою же железяку с блиттингом вместо opengl, тебе бы пришлось форкать не 1 wlorg, а mutter, kwin, mir и ещё сверху wlroots.
Так не лучше ли тебе, делая линукс под твою железяку, добавить бэкенд в одну библиотеку cairo и получить поддержку большей части софта? Или, если cairo не подходит под твою же железяку, запилить библиотеку shmairo и по крайней мере добиться что твой собственный софт, использующий эту shmairo будет работать эффективно?