Fast System Call

Internal structure and you change requests/suggestions
  • Поэкспериментировал немного: размер всех программ на свн при "int 0x40" и при SYSENTER отличается где-то ~ на 30 kb в несжатом виде и ~ 14 кб после сжатия kpack-ом. После запихивания их всех в образ, разница составила еще меньше - 7 кб. Вроде не такое уж и страшное раздувание для сотни программ даже в пределах дискеты, от которой уже начали по-немногу уходить.
  • Пересказываю свой предыдущий пост вкратце:
    1) Происходит раздувание программ.
    2)3) Происходит ненужное раздувание программ.
    4) Происходит лишнее раздувание программ.
    5) Теряется совместимость.
    6) Наличествуют теневые эффекты.
  • Залил исправления для fasm, period, sysxtree, https, chess, pong, некоторые косметические изменения исходников (благодарю diamond-а за замечания).
    По поводу vrr - повторить не удалось, вроде все работает; skinsel окна не имеет и меняет скин только при наличии нескольких скинов в образе, которые к тому же должны быть прописаны в файле настроек. Со scrshoot пока ситуация подвисает... либо полностью переписывать программу на общий скин, либо менять editbox, чтобы он не использовал макросы.
    diamond
    В принципе, я согласен с тем, что быстрый вызов нужен не везде, но теперь менять все назад и заниматься выбором критических мест, где ускорение нужно 1) самому как-то не хочется; 2) учитывая объем работы, не думаю, что кто-то другой за это возьмется
    По поводу пункта 6:
    при простой замене int 0x40 на пустой mcall в принципе ничего не изменилось - если использовать ключ "р5", то на выходе получится абсолютно идентичный код, со всеми оптимизациями. А если бояться несовместимости и ненужного раздувания, то можно просто не использовать быстрые вызовы в официальном дистрибутиве, а оставить их как возможность для желающих чуть увеличить скорость за счет некоторого увеличения размеров бинарников.
  • Heavyiron
    С VRR вопрос не в твоих изменения похоже, он и в обычном виде не запускается.
  • Heavyiron, даже если официальный дистрибутив не будет использовать быстрые вызовы, лично для меня ничего не изменится, потому что я каждый день обновляю систему с svn
  • Mario79, а ты не забыл обновить vmode.mdr на тот, что требуется для плоского ядра? Просто реально у меня vrr работает в любом виде: хоть с быстрыми вызовами, хоть без них.
  • Heavyiron
    Не помню точно, но вроде обновлял. Вечером проверю, возможно дело в этом.
  • Heavyiron wrote:В принципе, я согласен с тем, что быстрый вызов нужен не везде, но теперь менять все назад
    Отменить всё назад как раз-таки несложно: "svn merge -r 485:484 programs programs" (из корневого каталога локальной копии репозитория с последующим "svn commit").
  • Ну так блин, я же там не только int 0x40 на mcall менял...
  • Heavyiron
    Вопрос с VRR снят, на ядре 506 все запустилось. Правда проверял без FAST CALL, но думаю проблем не будет.
  • Ревизия 510

    Fasm при попытке скомпилировать ppp.asm просто вырубился без всяких сообщений.
    Kfm при попытке запустить неподдерживаемый файл (avi) так же вырубился без сообщений.
    Подозреваю, что при более внимательном тестировании может всплыть ещё несколько подобных глюков с другими программами
  • Ревизия 511, может и на предыдущих это наблюдается (скорее всего).

    Решил провести такой вот эксперимент - захожу в КФМ (сс...ка масдайная языковая панель), оттуда запускаю 3Д\teapot.3ds нажатием энтера. Курсор в окне. После открытия спустя секунду жму Альт+Ф4. Такое проделываю 3 раза. И каждый раз после третьего раза закрытия исчерает курсор. Проделано 3 раза. Случайность?
    Тоже самое с house.3ds
    Далее я открыл 3dcube2 и опять нажал Альт+Ф4, курсор исчез сразу (на этом моменте мне надоело "эксперементировать" и я пошол сюда писать этот пост)
  • Leency, к фастколам этот баг не имеет отношения, причем он довольно древний.
  • Leency
    Это древний как сама Колибри баг. :-)
    Возникает если в момент завершения приложения курсор отключен. Для устранения требуется полное переписывание кода вывода курсора.
  • Who is online

    Users browsing this forum: No registered users and 0 guests