Page 2 of 4

Posted: Wed Aug 10, 2005 11:22 am
by DoomEd Archangel
halyavin

на понял.... а как бороться с ограничением в 1024 кнопки???? это ж полная Жэ!

Posted: Wed Aug 10, 2005 12:51 pm
by NoName
3 - я впервые увидел что система ПОДВИСАЕТ... прям как винда - медленно перескакивает курсор, загруженность проца - полная, в арканойде шарик летает со скоростью 1 пиксель в секунду, а тетрис вообще почти остановился.
1. В винде есть приоритеты
2. В винде есть короткие и длинные кванты
Поэтому если запущено много приложений, то пока каждое приложение съест свое время по кругу, проходит большое время, но на самом деле этим достигается большая производительность(на все приложения в целом, а не на одно конкретное.) чем при (коротких квантах и приоритетах), но уменьшается отзывчивость и пользователю кажется что система тормозит.

Много чего глючит. Очень много нужно переписывать, то же меню загрузки (знаю работы ведутся, но скриншоты меня не порадовали).
Прогу прислать немогу ибо писал ее и в процессе произошла ошибка, далее ребут и снова писал, в следующий раз сохраню кусок кода...

где находится код (последняя версия) для отрисовки иконок?

Posted: Wed Aug 10, 2005 1:04 pm
by FreGL
Пора убрать ограничения , особенно с кнопками - это же полный ахтунг, система как была кастрированной так и остается по сей день (((

Posted: Wed Aug 10, 2005 1:26 pm
by NoName
Но ни в коем случае нельзя делать счетчики больше разумных значений. Например может показатся что 255 процессов насегодня мало.
Для колибри сейчас это нормально, но нужна поддержка хотя бы 5k потов, это максимум. Ни какие миллионы которые есть в других ОС сегодня невостребованы, а их создатели только хвастаются как они транжирят память. 1к кнопок это конечно мало. Нужно что-то вроде 10к, но незабывайте что будет использоваться в максимум 10% от 10к.
Вы в винде запускаете 100 вордов?

Posted: Wed Aug 10, 2005 1:36 pm
by halyavin
Исправил глюк запуска тетриса, запуска несуществующих программ с винта и отображения окон произвольной формы. Кстати, из-за особенностей менеджера памяти (конкретно из-за проблем с DMA) не будет работать звук, за исключением спикера. Решить эту проблему не очень просто, но нет ничего невозможного.
Новое ядро отправлено NoName'у.
На счет "зависания" системы при большом (но не предельном) количестве приложений - на самом деле это просто закончилась память. В совокупности с заканчивающимися кнопками это выглядит как зависание. Отличить его от настоящего зависания легко - если окна перетаскиваются, значит система работает нормально (по крайней мере, если они не перетаскиваются, то система точно повисла ;) ).
DoomEdArchangel
На счет тормозов лабиринта и SDLFire - эти приложения стараются выдать максимальное количество fps. Поэтому они всегда занимают 100% ресурсов. Тормоза арканоида (от Павлюшина) связаны с прямой зависимостью скорости шарика от скорости компьютера, если есть постоянно работающие программы. арканоид генерирует примерно 100/n кадров в секунду, где n - число таких программ.
arcanii вроде использует тот принцип.
Попытаюсь увеличить число доступных кнопок.

Posted: Wed Aug 10, 2005 1:56 pm
by DoomEd Archangel
halyavin

ээээ... ;) я могу отличить полное зависание от глюков... и особенностей :)
а вот с арканойдом не совсем то... видимо что то не так в самом коде - при выводе !МЕНЮ! загрузка возрастает до 100% и остальные приложения тормозят.
остальное - гут!

Posted: Wed Aug 10, 2005 3:06 pm
by NoName
Попытка копировать любой файл в MFAR на фат32 с образа дискеты вызывает kernel error
EIP 0001B06E (в v03)
Сейчас выложить его пока немогу, ближе к вечеру.

Забыл еще сказать что код иконок который ты прислал не последний!
Очень нужен последний, хочу попробовать ускорить перерисовку, пока неважно как, главное дайте сорсы.

Posted: Wed Aug 10, 2005 5:36 pm
by mike.dld
NoName wrote:Попытка копировать любой файл в MFAR на фат32 с образа дискеты вызывает kernel error
Возможно, причина в функции 64. Перед началом копирования, память программы увеличивается на размер копируемого файла. Файл считывается в память, записывается на диск, и далее размер памяти возвращается в первоначальное значение.

Posted: Wed Aug 10, 2005 6:10 pm
by NoName

Posted: Wed Aug 10, 2005 8:03 pm
by halyavin
NoName
Последний может быть только у Mario79. Присланный мной код новее чем в Kolibri4.
EIP 0001B06E (в v03)
Это адрес команды пересылки данных из программы в кэш-буфер винчестера. По-видимому, ядро обращается к несуществующей памяти. Исследование ядра показало, что при записи на винчестер ядро проверяет корректность только начала буфера. Поэтому это может быть вызвано ошибкой MFAR'a.
К сожалению, у меня файлы копируются нормально. Поэтому точно сказать не могу.
mike.dld
Возможно, у тебя потоки при этом используются? Кстати, ты не забываешь округлять размер файла вверх до 512 байт?

Posted: Wed Aug 10, 2005 10:01 pm
by Mario79
Для всех.
Люди вы забываете, что Винда это система с “резиновым” временем отклика.
А МеОС это система реального времени, соответственно время делится между всеми приложениями поровну. Ядро в данном вопросе тоже является приложением. А, учитывая, что видеодрайвера, ускоряющего вывод на экран нету, то вся работа ложится на плечи центрального процессора. Не стоит удивляться, что приложения типа SDLFIRE загружают систему по полному, если бы они были написаны так, чтобы не загружать систему, то при нынешнем положении они бы работали сверхмедленно.

NoName
Ты уже который раз просишь исходники программы ICON. Самые последние исходники лежат в исходниках Колибри4. Новей нет, потому что после этого их никто не ковырял. У меня была идея отвести в коде под буфер картинок места на каждую иконку, но тогда место будет жратся страшно и не будет никакой разницы со старым ICON. Когда для каждой иконки запускался не поток, а отдельная программа. А при текущем положении система загружается даже если на компе установлено 16 метров памяти.

Posted: Wed Aug 10, 2005 11:03 pm
by mike.dld
halyavin wrote:Возможно, у тебя потоки при этом используются? Кстати, ты не забываешь округлять размер файла вверх до 512 байт?
Потоки не используются, размер округляется (mf-copy.inc):

Code: Select all

        mov     ecx,[fc_size]
        shr     ecx,9
        inc     ecx
        push    ecx
        shl     ecx,9
        add     ecx,MEM_USED
        mcall   MF_MEMRESIZE,MR_SETSIZE
        or      eax,eax
        jnz    .close
...
        mcall   MF_MEMRESIZE,MR_SETSIZE,MEM_USED

Posted: Thu Aug 11, 2005 9:02 am
by NoName
halyavin
Пришли пж-та сорсы v03, они мне очень нужны
И еще проверь пж-та личку, я тебе кое что прислал.

Posted: Thu Aug 11, 2005 10:45 am
by halyavin
Mario79
MenuetOS тоже система с резиновым временем. Утверждение про систему реального времени не больше, чем реклама Вилле.

Posted: Thu Aug 11, 2005 11:12 am
by Chugumoto
mike.dld wrote:Перед началом копирования, память программы увеличивается на размер копируемого файла. Файл считывается в память, записывается на диск, и далее размер памяти возвращается в первоначальное значение.
2all: а что, по частям в оперативку подгружать файлы нельзя? а то к примеру с несуществующим пока драйвером CD при копировании фильма на HDD нужен будет 1 гб памяти... :(