Колибри 0.7.7.0
-
Запускал без параметров.
- Attachments
-
-
Снимки.7z (7.77 KiB)Downloaded 201 times
-
А в лог atikms.log при этом что-нибудь пишется?
А, всё, понял. У меня kpack более новой версии, который сохраняет тип исходного файла в заголовок упакованного, а распаковщик в ядре при этом проверить и поправить я забыл.
fixed in svn.1450
fixed in svn.1450
Ушёл к умным, знающим и культурным людям.
заметил, что в режиме VGA (640x480, 16 цветов) при двойном щелчке по заголовку не разворачиваются окна (KFAR, KFM, Tinypad). проверял в QEmu.
С ревизии 1466 событие мыши (номер 6) окну не передается, если пользователь захватил окно за верхнюю часть и таскает, как только отпустит событие снова начинает генерироваться.
Как плюс - нет лишних генераций событий и их обработки, что должно снизить немного нагрузку на систему.
Ну, и на KFM и OpenDialog теперь не происходит сдвига курсора и кликов по активной области компонента FileBrowser (Box_Lib) в момент таскания. Вроде все работает без проблем, если кто что заметит подозрительное - просьба сообщить.
Как плюс - нет лишних генераций событий и их обработки, что должно снизить немного нагрузку на систему.
Ну, и на KFM и OpenDialog теперь не происходит сдвига курсора и кликов по активной области компонента FileBrowser (Box_Lib) в момент таскания. Вроде все работает без проблем, если кто что заметит подозрительное - просьба сообщить.
Последовательность событий следующая. Пользователь жмёт на левую кнопку мыши (далее ЛКМ) на заголовке окна. Ядро в лице главного потока записывает время нажатия и инициирует процесс перетаскивания окна. Пользователь отпускает ЛКМ. Главный поток завершает процесс перетаскивания окна и отрабатывает действия по перемещению окна, в том числе перерасчёт и перерисовку всех окон в старом и новом прямоугольниках. Естественно, туда попадает и окно рабочего стола с фоновым рисунком. После чего главный поток начинает старательно вычислять фон под окном в тормозном VGA-режиме. Пользователь снова жмёт ЛКМ, но главный поток этого не видит, потому что занят вычислением фона. Закончив расчёты, главный поток видит второе нажатие ЛКМ, сравнивает время нажатия со временем предыдущего нажатия, видит, что прошла куча времени (и не видит, что он сам это время и использовал) (конкретное значение, на случай, если кому интересно, - больше полусекунды), делает вывод, что это независимое нажатие, и не думает разворачивать окно.Albom wrote:заметил, что в режиме VGA (640x480, 16 цветов) при двойном щелчке по заголовку не разворачиваются окна (KFAR, KFM, Tinypad).
В svn.1474 сделал пропуск действий по перемещению окна, если оно не переместилось. Стало легче.
Ушёл к умным, знающим и культурным людям.
Добавил в load_lib.mac новый макрос @use_library_mem :
Этот макрос можно использовать для инициализации функций с именами 'lib_init', которые используют функции для работы с памятью. На другие программы это никак влиять не должно. Если пользователю нужен макрос @use_library_mem тогда он должен будет написать его вместо @use_library. Первый параметр не должен быть 0-м, остальные могут, при условии что подключаемые библиотеки не используют этих функций. Все на svn rev 1488.
Code: Select all
@use_library_mem mem_alloc,mem_free,mem_realloc,dll_load
Изменения на svn 1489.
Удалил все функции работы с памятью из 'box_lib.obj' теперь они присоединяются через функцию 'lib_init'.
Все программы использующие элементы 'tree_list' и 'text_editor' должны подключать функцию 'lib_init' для подключения функций работы с памятью.
Программы использующие другие элементы: editbox, checkbox, optionbox, ... могут подключаться к 'box_lib.obj' по старой схеме, минуя 'lib_init'.
Удалил все функции работы с памятью из 'box_lib.obj' теперь они присоединяются через функцию 'lib_init'.
Все программы использующие элементы 'tree_list' и 'text_editor' должны подключать функцию 'lib_init' для подключения функций работы с памятью.
Программы использующие другие элементы: editbox, checkbox, optionbox, ... могут подключаться к 'box_lib.obj' по старой схеме, минуя 'lib_init'.
Прошу добавить открытие программы scrshoot по нажатию PrintScreen.
Из хаоса в космос
SVN 1494 Просьба протестировать работу 66 сис. функции.
<Lrz>
Можно подробнее про изменения в 66 функции?
Можно подробнее про изменения в 66 функции?
SVN 1494: "66 system function have call without shift registers."
ушёл...
Я провожу мной запланированную ранее работу http://wiki.kolibrios.org/wiki/Plan/ruAsper wrote:<Lrz>
Можно подробнее про изменения в 66 функции?
Если коротко, то при каждом вызове сис. функции, ранее происходило переключение регистров, и только потом попадало на обратотчик сис. функции.
Code: Select all
cross_order:
; load all registers in crossed order
mov eax, ebx
mov ebx, ecx
mov ecx, edx
mov edx, esi
mov esi, edi
movzx edi, byte[esp+28 + 4]
call dword [servetable+edi*4]
ret
Это даст увеличение скорости выполнения (такты) и уменьшение размера ядра.
А зачем, собственно, нужно было переключение регистров?
ушёл...
Спроси у Ville Mikael Turjanmaa, villemt@itu.jyu.fiNasarus wrote:А зачем, собственно, нужно было переключение регистров?
Who is online
Users browsing this forum: No registered users and 0 guests