Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Пт авг 18, 2017 7:49 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 37 сообщений ]  На страницу Пред. 1 2 3
Автор Сообщение
 Заголовок сообщения: Re: Cairo
СообщениеДобавлено: Вс фев 26, 2012 6:52 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Mario
Надо душить жабу :) .
Фоновому изображению с иконками фиолетово или почти фиолетово наличие shadowfb, хотя он упрощает многие вещи. Например проще задействовать MMX потому что читаем shadowfb а не тормозную видеопамять. Или рамка при перетаскивании окна. Вместо xor с чтением видеопамяти рисуем паттерн, а востанавливаем из буфера.
Идея ICON сводится к следующему. Из ядра убирается код отрисовки фоновой картинки и объединяется с ICON. Само приложение создаёт только один поток и не требует собственного окна. ICON рисует в десктоп (slot 1) а для проверки кликов использует функцию, которая возвращает слот окна по координатам x,y. Соответственно если это 1, значит клик был на десктопе.


Вернуться к началу
 Заголовок сообщения: Re: Cairo
СообщениеДобавлено: Вс фев 26, 2012 7:57 pm 
А как тогда с выставлением картинки для фона. Как этот механизм работать будет в случае когда только ICON будет монопольно распоряжаться отрисовкой картинки. И вообще получается будет жрать память равную текущему режиму LFB. Расточительно, ужас! А еще господа любители крутящихся иконок будут выть - хотя всем остальным на них... кхм.


Вернуться к началу
   
 Заголовок сообщения: Re: Cairo
СообщениеДобавлено: Вс фев 26, 2012 8:32 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
Mario
Выставлять картинку через расшареную память.


Вернуться к началу
 Заголовок сообщения: Re: Cairo
СообщениеДобавлено: Вт окт 09, 2012 11:11 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Serge писал(а):
Поскольку тема блиттера (ф.73) в основном обсуждалась в этой теме, то здесь и отпишусь.
... Если есть вопросы, замечания и предложения пишите.

Чего-то мне в последнее время эта твоя идея с блиттером всё больше начинает нравиться.

Приходится признать, что системные вызовы действительно сильно тормозят GUI.
И syscallы, и запредельная оптимизация кода проблемы не решают: скорость увеличивается в лучшем случае на десятки процентов, а надо - в разы...

Может, имеет смысл довести блиттер до полноценного "теневого" видеобуфера, куда приложение могло бы рисовать с помощью расшаренных GUI-библиотек, а ядро бы вызывалось только для окончательной отрисовки окна?


Вернуться к началу
 Заголовок сообщения: Re: Cairo
СообщениеДобавлено: Ср окт 10, 2012 10:27 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
art_zh
Со временем. Здесь надо ещё видеодрайвер подключать.
У меня есть идея забрать у приложений прямой доступ к видеопамяти по LFB_BASE и разместить там буфер окна. Но тут есть разные варианты.
1. буфер представляет всё окно - клиентскую часть и обрамление.
2. буфер представляет только клиентскую часть, а обрамление рисуется в собственные буферы.

Для каждого варианта есть свои резоны. Первый позволяет вывести всё окно за один вызов блиттера.
Второй упрощает вывод видео если драйвер умеет масштабировать текстуры.


Вернуться к началу
 Заголовок сообщения: Re: Cairo
СообщениеДобавлено: Пт ноя 11, 2016 12:28 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 933
Serge, а ты вот говорил там viewtopic.php?f=24&t=1674#p31993 что SysFn65 не работает. А что конкретно не работало? Просто у меня и раньше и сейчас всё прекрасно работало и работает.
В ebp не stride, а padding. Например, если padding отсутствует, то ebp = 0.


Вернуться к началу
 Заголовок сообщения: Re: Cairo
СообщениеДобавлено: Сб ноя 12, 2016 12:49 pm 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3928
0CodErr
Точно уже не помню, но были проблемы.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 37 сообщений ]  На страницу Пред. 1 2 3

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB