Board.KolibriOS.org

Official KolibriOS board
It is currently Fri May 24, 2019 6:36 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 455 posts ]  Go to page Previous 126 27 28 29 30 31 Next
Author Message
PostPosted: Sun Feb 26, 2012 8:54 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Евгений ограничил объём когда сделал расшареные длл.
Собственно MIN_DEFAULT_DLL_ADDR = 0x10000000 делит память приложения пополам.


Last edited by Serge on Sun Feb 26, 2012 9:25 pm, edited 1 time in total.

Top
   
PostPosted: Sun Feb 26, 2012 9:06 pm 
Но почему из 2 Гб всего лишь 900 Мб? Не логичней ли под библиотеки 0,5 Гб отдать, под выделяемую память 1,5 Гб. Начнешь так большой документ открывать, а память то нема!


Top
   
PostPosted: Sun Feb 26, 2012 9:26 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario
Я с тобой согласен, это код надо переделывать.
Кстати куча ограничена 1.5Гб с очень старых времён.

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

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


Top
   
PostPosted: Sun Feb 26, 2012 9:40 pm 
Это сказал Билли, а не я. К тому же 640 Кб до сих пор для многих наших приложений хватает. Вот для данных не хватает иногда.


Top
   
PostPosted: Sun Feb 26, 2012 9:47 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Это относится к принципам проектирования. 640 кб впишите нужное значение хватит всем. Вики пишет что Билли этого не говорил.


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


Top
   
PostPosted: Sun Feb 26, 2012 10:34 pm 
Offline
Kernel Developer

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


Top
   
PostPosted: Sun Feb 26, 2012 10:50 pm 
Ну, поскольку некоторые наши товарищи заняты портированием Сишных библиотек, то думаю либо 256, либо 512 Мб надо таки оставить под библиотеки.
А кстати идея - может приложению самому определять сколько оно хочет отдать под библиотеки? Или в полете это уже невозможно сделать?

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


Top
   
PostPosted: Sun Feb 26, 2012 11:01 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Нет в полёте уже не поменять. Не помню почему меньше 1.5 Гб. Скорее всего была причина, а потом забыл исправить.


Top
   
PostPosted: Sun Feb 26, 2012 11:07 pm 
А если использовать новый заголовок программ для определения сколько размер отдавать? Для стандартных типов оставим разумный минимум под библиотеки, а для нового заголовка программист будет сам указывать значение.


Top
   
PostPosted: Sun Feb 26, 2012 11:14 pm 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Базовый адрес для загрузки ДЛЛ устанавливается ядром. Он для всех приложений одинаков иначе ДЛЛ не сделать расшареными.


Top
   
PostPosted: Mon Feb 27, 2012 12:19 am 
Мда... дилемма. Ладно давай сделаем пока 256 Мб под библиотеки.


Top
   
PostPosted: Mon Feb 27, 2012 8:35 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Изменения в функции 40:
Бит 31 регистра ebx управляет фильтрацией событий мыши.
Бит 31 = 0 - окно всегда получает события от мыши.
Бит 31 = 1 - окно получает события мыши только в активном состоянии.

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


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


Top
   
PostPosted: Thu Mar 01, 2012 8:01 am 
Offline
Kernel Developer

Joined: Wed Mar 08, 2006 6:25 pm
Posts: 3952
Mario
А теперь запусти плеер попробуй закрыть окно.
Если KFM неправильно мышь обрабатывает, чем другие программы виноваты ?


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 455 posts ]  Go to page Previous 126 27 28 29 30 31 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited