Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср окт 18, 2017 7:44 pm

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




Начать новую тему  Ответить на тему  [ 444 сообщения ]  На страницу Пред. 126 27 28 29 30
Автор Сообщение
СообщениеДобавлено: Чт авг 14, 2014 2:58 am 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 385
Если проблема в больших объёмах, то вот вам такой велосипед:
IPC + SharedMemory. Создаем SM c инфой, отправляем IPC, что нужно прочесть, и читаем из SM.
Вуалая. Циклов ожидания нету, IPC передает dword (или что там минимум).


Вернуться к началу
СообщениеДобавлено: Чт авг 14, 2014 7:49 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
e-andrew
Если ты думаешь, что ты сильно оригинален в изобретении именно этого велосипеда, то ты ошибаешься. Это как раз первое, что приходит в голову после того как Serge сделал поддержку именованной памяти. Однако этот подход неудобен именно в силу двухэтапности.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Чт авг 14, 2014 2:22 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн ноя 19, 2012 5:22 pm
Сообщения: 439
Ну с именованной зоной пропадает одна сложность - не надо искать процесс @icon, просто записал инфу и всё. И "большой объём данных" - это насколько большой? В случае с @icon - это в районе 1КБ (в худшем случае). В принципе, задержка при создании иконки даже в секунду-две - это мелочь. Никто же не собирается создавать несколько иконок в секунду?

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Вернуться к началу
СообщениеДобавлено: Чт авг 14, 2014 2:26 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 385
Я нигде не говорил, что это мой велосипед, тем более не говорил, что он оригинальный. И в двухэтапности я тоже не вижу ничего неудобного. Больше кода, да, но тут нужно выбирать: или простой, но менее эффективный цикл, или более сложная (в плане большая) процедура, но эффективная. Могу ошибаться с эффективностью, с ИПэЦэ ни разу не работал.


Вернуться к началу
СообщениеДобавлено: Чт авг 14, 2014 2:30 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
GerdtR
В случае с именованной зоной может возникнуть другая проблема - синхронизация. Два и более потоков могут захотеть одновременно подать запрос, тут нужно продумывать протокол и они все его должны соблюдать. Именованная память тоже не панацея и у нее по сути вспомогательное значение. В общем вопрос не простой, а я может и зря поднял бучу, а может и не зря. По нескольку раз переписывать реализацию не каждый может захотеть для своего кода, если впоследствии будет внедрена новая система IPC.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Чт авг 14, 2014 2:34 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
e-andrew писал(а):
Могу ошибаться с эффективностью, с ИПэЦэ ни разу не работал.

Можешь запустить в эмуляторе Bochs систему (для большей наглядности, так как там замедление больше, чем в Qemu) и по открывать разные пункты в DOCPACK. Желательно маленькие файлы с большими. Там как раз файлы через IPC передаются в Tinypad.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
СообщениеДобавлено: Чт авг 14, 2014 3:47 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Чт сен 03, 2009 1:52 pm
Сообщения: 1599
Mario_r4 писал(а):
Я не стану отрицать очевидную вещь - реализация со стороны ядра почти всегда эффективней. Однако это не меняет того факта, что текущая реализация IPC медленная и не самая удобная для передачи больших объемов данных.

Если не передавать мегабайты данных, то она не настолько медленная, чтобы оправдывать постоянное бдение приложения в ожидании.
GerdtR
Короче, используй IPC. Другого всё равно в обозримом будущем нет.

_________________
Сделаем мир лучше!


Вернуться к началу
СообщениеДобавлено: Сб фев 21, 2015 3:53 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4219
Rev #5439
- добавлен вывод номера иконки в окно - удобно когда добавляешь иконку в @docky и software_center знать её номер, а не высчитывать вручную
- 4 строки иконок для удобства


Вложения:
Screenshot_1.png
Screenshot_1.png [ 48.97 КБ | 693 просмотра ]

_________________
Через тернии к звездам
Вернуться к началу
СообщениеДобавлено: Вт сен 26, 2017 9:29 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4219
Rev #7012
Я обновил диалог добавления/редактирования иконки: теперь используются большие шрифты и я исправил мерцание при нажатии на иконку.

+ rev #7013, #7014: из-за того что файл в оригинале имел имя @icon.asm, возникли проблемы с автосборкой, которые я поидее пофиксил, переименовав его icon.asm, в результате сборки он стает icon, а копируется на образ уже как @icon. Почему-то TUP не может найти icon.asm, возможно, нужно его перезагрузить.


Вложения:
icon_new.png
icon_new.png [ 44.43 КБ | 64 просмотра ]

_________________
Через тернии к звездам
Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 444 сообщения ]  На страницу Пред. 126 27 28 29 30

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


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

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


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

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