Колибри 0600

Share your distros and discuss others'
  • Дождись следующего: недолго осталось ;) Просто 188 уже немного старовата...
  • В текущих версиях ядра на SVN не работают режимы 0 и 9.
    Просмотрев код обнаружил, что исчезла процедура enable_mtrr, она была между
    ; PALETTE FOR 320x200 and 640x480 16 col
    и
    ; LOAD DEFAULT SKIN
    Код удален полностью и произошло это между 160 и 166 ревизией.
    160 - ревизия работает, 166 не работает.
  • Проверил в Bochs, Qemu, VirtualPC и на железе ATI x1600 Vesa 3.0. Оба режима везде работают. Попробуй загрузить для проверки в эмуляторе.
    enable_mtrr заменена на init_mtrr. Она вызывается после init_kernel_heap и init_LFB. Если проблема в ней попробуй загрузиться с отключенными mtrr.
  • Тестировал ядро последней ревизии( 200 ).В 0 и 9 режимах грузиться,но графика ОЧЕНЬ сильно тормозит.В 13h режиме FPS в 3DCUBE равно 13.А в 9 режиме вообще толком работать нельзя - всё сильно тормозит.В K6.0.0.0 я в 9 режиме даже в Quake играл :) с fps~20.
  • Раньше была функция checkEgaCga сейчас checkVga_N13. У меня этот код тоже сильно тормозит, плеер нормально работать не может. Вообще необходимость этих режимов довольна сомнительна.
  • andrew_programmer
    В том то и дело - я переписал режим 640*480*16 и он почти догоняет Vesa режим по быстродействию (ну по крайней мере перестал так сильно отставать).

    Serge
    Хорошо попробую без mtrr. А кстати он вроде используется только для Vesa или нет?
    enable_mtrr заменена на init_mtrr. Она вызывается после init_kernel_heap и init_LFB.
    В режимах 0 и 9 линейный буфер остался на прежнем месте, после модернизаций Андрея Халявина. Может быть ты пропустил в коде проверку на видеорежим, в каком нибудь месте?
  • >В том то и дело - я переписал режим 640*480*16 и он почти догоняет Vesa режим по быстродействию (ну по крайней мере перестал так сильно отставать).

    Я это знаю,вот поэтому и тестировал его на fps-ы.

    >Вообще необходимость этих режимов довольна сомнительна.

    Возможно.Если бы были 8 и 16 битные режимы,то я бы их использовал.В них бы даже vesa1.2 быстрее работала.
  • Вообще необходимость этих режимов довольна сомнительна.
    На некоторых старых видеокартах только они и запускаются, так как для Vesa 1.2 нужны индивидуальные процедуры переключения банков. Отказываться от дополнительной совместимости не стоит.
    А после моего переписывания вывода в 640*480*16 скорость возрала даже на Cyrix233 очень заметно.
    Так что надо исправлять ситуацию. До переписывания был вообще попикселный вывод - с жуткими тормозами.
    Я повторюсь - ядро ревизии 160 прекрасно работает с этими режимами.
  • Нашёл причину тормозов. Дело в mtrr и в виртуальном буфере в режимах 0 и 9. Кстати теперь он создается динамически в init_LFB. Пока в режимах 0 и 9 mtrr надо отключать. Вообще это хорошая демонстрация того, как влияет кеширование памяти на быстродействие.
  • Heavyiron wrote: Поступило предложение удалить приложение stackinf: это всего-лишь описание, оформленное в виде программы. Тем более текстовый файл, на который она ссылается из дистрибутива давно удален...
    Предложение не представляется возможным осуществить в связи с тем, что stackcfg уже удалён :-) Поскольку информацию, содержащуюся в нём, я счёл подмножеством stack.txt/stack_ru.txt. Который, кстати, не удален из дистрибутива, а, напротив, лежит в открытом виде в каталоге Docs, а также в упакованном на рамдиске в docpak.
  • stackconf удален? Наверное, ты имел в виду stackinf ;)
  • Serge
    При отключении mtrr режимы 0 и 9 действительно работают, но заметно снижение скорости.
  • В системе MTRR управляют кешированием видеопамяти. Если их отключить то быстродействие снизится во всех режимах работающих с настоящим LFB. В последнем ядре (201) init_mtrr не вызывается для режимов 0 и 9.
  • Who is online

    Users browsing this forum: No registered users and 7 guests