Board.KolibriOS.org
http://board.kolibrios.org/

Icon - менеджер иконок рабочего стола
http://board.kolibrios.org/viewtopic.php?f=48&t=1515
Страница 30 из 30

Автор:  e-andrew [ Чт авг 14, 2014 2:58 am ]
Заголовок сообщения:  Re: Icon - менеджер иконок рабочего стола

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

Автор:  Mario_r4 [ Чт авг 14, 2014 7:49 am ]
Заголовок сообщения:  Re: Icon - менеджер иконок рабочего стола

e-andrew
Если ты думаешь, что ты сильно оригинален в изобретении именно этого велосипеда, то ты ошибаешься. Это как раз первое, что приходит в голову после того как Serge сделал поддержку именованной памяти. Однако этот подход неудобен именно в силу двухэтапности.

Автор:  GerdtR [ Чт авг 14, 2014 2:22 pm ]
Заголовок сообщения:  Re: Icon - менеджер иконок рабочего стола

Ну с именованной зоной пропадает одна сложность - не надо искать процесс @icon, просто записал инфу и всё. И "большой объём данных" - это насколько большой? В случае с @icon - это в районе 1КБ (в худшем случае). В принципе, задержка при создании иконки даже в секунду-две - это мелочь. Никто же не собирается создавать несколько иконок в секунду?

Автор:  e-andrew [ Чт авг 14, 2014 2:26 pm ]
Заголовок сообщения:  Re: Icon - менеджер иконок рабочего стола

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

Автор:  Mario_r4 [ Чт авг 14, 2014 2:30 pm ]
Заголовок сообщения:  Re: Icon - менеджер иконок рабочего стола

GerdtR
В случае с именованной зоной может возникнуть другая проблема - синхронизация. Два и более потоков могут захотеть одновременно подать запрос, тут нужно продумывать протокол и они все его должны соблюдать. Именованная память тоже не панацея и у нее по сути вспомогательное значение. В общем вопрос не простой, а я может и зря поднял бучу, а может и не зря. По нескольку раз переписывать реализацию не каждый может захотеть для своего кода, если впоследствии будет внедрена новая система IPC.

Автор:  Mario_r4 [ Чт авг 14, 2014 2:34 pm ]
Заголовок сообщения:  Re: Icon - менеджер иконок рабочего стола

e-andrew писал(а):
Могу ошибаться с эффективностью, с ИПэЦэ ни разу не работал.

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

Автор:  CleverMouse [ Чт авг 14, 2014 3:47 pm ]
Заголовок сообщения:  Re: Icon - менеджер иконок рабочего стола

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

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

Автор:  Leency [ Сб фев 21, 2015 3:53 am ]
Заголовок сообщения:  Re: Icon - менеджер иконок рабочего стола

Rev #5439
- добавлен вывод номера иконки в окно - удобно когда добавляешь иконку в @docky и software_center знать её номер, а не высчитывать вручную
- 4 строки иконок для удобства

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

Автор:  Leency [ Вт сен 26, 2017 9:29 pm ]
Заголовок сообщения:  Re: Icon - менеджер иконок рабочего стола

Rev #7012
Я обновил диалог добавления/редактирования иконки: теперь используются большие шрифты и я исправил мерцание при нажатии на иконку.

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

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

Страница 30 из 30 Часовой пояс: UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/