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

Новая модель ядра
http://board.kolibrios.org/viewtopic.php?f=35&t=509
Страница 28 из 31

Автор:  Serge [ Вс фев 26, 2012 8:54 pm ]
Заголовок сообщения:  Re: Новая модель ядра

Евгений ограничил объём когда сделал расшареные длл.
Собственно MIN_DEFAULT_DLL_ADDR = 0x10000000 делит память приложения пополам.

Автор:  Mario [ Вс фев 26, 2012 9:06 pm ]
Заголовок сообщения:  Re: Новая модель ядра

Но почему из 2 Гб всего лишь 900 Мб? Не логичней ли под библиотеки 0,5 Гб отдать, под выделяемую память 1,5 Гб. Начнешь так большой документ открывать, а память то нема!

Автор:  Serge [ Вс фев 26, 2012 9:26 pm ]
Заголовок сообщения:  Re: Новая модель ядра

Mario
Я с тобой согласен, это код надо переделывать.
Кстати куча ограничена 1.5Гб с очень старых времён.

На все наши длл хватит нескольких Мб.

И да, 640 Кб хватит всем.

Автор:  Mario [ Вс фев 26, 2012 9:40 pm ]
Заголовок сообщения:  Re: Новая модель ядра

Это сказал Билли, а не я. К тому же 640 Кб до сих пор для многих наших приложений хватает. Вот для данных не хватает иногда.

Автор:  Serge [ Вс фев 26, 2012 9:47 pm ]
Заголовок сообщения:  Re: Новая модель ядра

Это относится к принципам проектирования. 640 кб впишите нужное значение хватит всем. Вики пишет что Билли этого не говорил.

Автор:  Mario [ Вс фев 26, 2012 10:13 pm ]
Заголовок сообщения:  Re: Новая модель ядра

Ну не знаю кто там как проектирует. Однако если изначально задумывалось отдать приложению 2 Гб, а потом ВНЕЗАПНО задумалось 900 Мб, то второе решение неизвестно чем обосновано. Чужие тараканы, он такие... чужие что ли. :mrgreen:

Автор:  Serge [ Вс фев 26, 2012 10:34 pm ]
Заголовок сообщения:  Re: Новая модель ядра

Я поправлю код, вопрос сколько оставить ? 512Мб имхо много. Если бы в системе был файл настроек, но его нет.
MIN_DEFAULT_DLL_ADDR = 0x10000000 это не Гб, это 256Mb а верхняя 512 . Так что длл режут кучу на две неравные части. А верхняя граница кучи немного ниже 1.5Гб.

Автор:  Mario [ Вс фев 26, 2012 10:50 pm ]
Заголовок сообщения:  Re: Новая модель ядра

Ну, поскольку некоторые наши товарищи заняты портированием Сишных библиотек, то думаю либо 256, либо 512 Мб надо таки оставить под библиотеки.
А кстати идея - может приложению самому определять сколько оно хочет отдать под библиотеки? Или в полете это уже невозможно сделать?

З.Ы. Кстати почему верхняя граница кучи ниже 1,5 Гб - это фундаментальное препятствие или как?

Автор:  Serge [ Вс фев 26, 2012 11:01 pm ]
Заголовок сообщения:  Re: Новая модель ядра

Нет в полёте уже не поменять. Не помню почему меньше 1.5 Гб. Скорее всего была причина, а потом забыл исправить.

Автор:  Mario [ Вс фев 26, 2012 11:07 pm ]
Заголовок сообщения:  Re: Новая модель ядра

А если использовать новый заголовок программ для определения сколько размер отдавать? Для стандартных типов оставим разумный минимум под библиотеки, а для нового заголовка программист будет сам указывать значение.

Автор:  Serge [ Вс фев 26, 2012 11:14 pm ]
Заголовок сообщения:  Re: Новая модель ядра

Базовый адрес для загрузки ДЛЛ устанавливается ядром. Он для всех приложений одинаков иначе ДЛЛ не сделать расшареными.

Автор:  Mario [ Пн фев 27, 2012 12:19 am ]
Заголовок сообщения:  Re: Новая модель ядра

Мда... дилемма. Ладно давай сделаем пока 256 Мб под библиотеки.

Автор:  Serge [ Пн фев 27, 2012 8:35 am ]
Заголовок сообщения:  Re: Новая модель ядра

Изменения в функции 40:
Бит 31 регистра ebx управляет фильтрацией событий мыши.
Бит 31 = 0 - окно всегда получает события от мыши.
Бит 31 = 1 - окно получает события мыши только в активном состоянии.

Планируется:
Бит 30 = 0 - окно получает события от мыши если курсор находится за пределами окна
Бит 30 = 1 - окно не получает события от мыши если курсор находится за пределами окна

Автор:  Mario [ Чт мар 01, 2012 2:34 am ]
Заголовок сообщения:  Re: Новая модель ядра

Я восстановил код закомментированный в r. 2414. Этот код вводился еще в ревизиях 1466 и 1513. Без него приложения активно обрабатывающие мышь при перетаскивании окна или изменении размеров окна могут менять положение собственного курсора многократно. Как пример можно посмотреть на реакцию KFM и OpenDialog с этим кодом и без него. Если координаты курсора мыши попадают в "активную зону" приложения, то начинаются чудесатые чудеса. Это именно обработка предотвращающая некорректное поведение активного окна. Не нужно убирать этот код!

Автор:  Serge [ Чт мар 01, 2012 8:01 am ]
Заголовок сообщения:  Re: Новая модель ядра

Mario
А теперь запусти плеер попробуй закрыть окно.
Если KFM неправильно мышь обрабатывает, чем другие программы виноваты ?

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