Проверял работу Колибри на Pentium166MMX с видеокартой S3ViRGE-DX/GX PCI(375/385).
Дистрибутив K6.0.0.0 нормально работал.
Заменил ядро из дистрибутива 6.0.0.0 на ядро ревизии 188.После этого напроч перестала работать VESA2.0 После загрузки с дискеты компьютер перезагружается.При загрузке с диска вместо текста,показывающего процесс загрузки, появляется какая-то размазня и загрузка останавливается.
Я попробовал загрузиться в режиме [0] (640х480х16).Система загрузилась,но COM мышь не работала.
Раньше на этом компе Колибри отлично работала.
Heavyiron
Раз толку от stackinf нет, значит нужно удалять.
Колибри 0600
Дождись следующего: недолго осталось
Просто 188 уже немного старовата...
![Wink ;)](./images/smilies/icon_wink.gif)
В текущих версиях ядра на SVN не работают режимы 0 и 9.
Просмотрев код обнаружил, что исчезла процедура enable_mtrr, она была между
; PALETTE FOR 320x200 and 640x480 16 col
и
; LOAD DEFAULT SKIN
Код удален полностью и произошло это между 160 и 166 ревизией.
160 - ревизия работает, 166 не работает.
Просмотрев код обнаружил, что исчезла процедура 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.
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.
![Smile :)](./images/smilies/icon_smile.gif)
Раньше была функция checkEgaCga сейчас checkVga_N13. У меня этот код тоже сильно тормозит, плеер нормально работать не может. Вообще необходимость этих режимов довольна сомнительна.
andrew_programmer
В том то и дело - я переписал режим 640*480*16 и он почти догоняет Vesa режим по быстродействию (ну по крайней мере перестал так сильно отставать).
Serge
Хорошо попробую без mtrr. А кстати он вроде используется только для Vesa или нет?
В том то и дело - я переписал режим 640*480*16 и он почти догоняет Vesa режим по быстродействию (ну по крайней мере перестал так сильно отставать).
Serge
Хорошо попробую без mtrr. А кстати он вроде используется только для Vesa или нет?
В режимах 0 и 9 линейный буфер остался на прежнем месте, после модернизаций Андрея Халявина. Может быть ты пропустил в коде проверку на видеорежим, в каком нибудь месте?enable_mtrr заменена на init_mtrr. Она вызывается после init_kernel_heap и init_LFB.
>В том то и дело - я переписал режим 640*480*16 и он почти догоняет Vesa режим по быстродействию (ну по крайней мере перестал так сильно отставать).
Я это знаю,вот поэтому и тестировал его на fps-ы.
>Вообще необходимость этих режимов довольна сомнительна.
Возможно.Если бы были 8 и 16 битные режимы,то я бы их использовал.В них бы даже vesa1.2 быстрее работала.
Я это знаю,вот поэтому и тестировал его на fps-ы.
>Вообще необходимость этих режимов довольна сомнительна.
Возможно.Если бы были 8 и 16 битные режимы,то я бы их использовал.В них бы даже vesa1.2 быстрее работала.
На некоторых старых видеокартах только они и запускаются, так как для Vesa 1.2 нужны индивидуальные процедуры переключения банков. Отказываться от дополнительной совместимости не стоит.Вообще необходимость этих режимов довольна сомнительна.
А после моего переписывания вывода в 640*480*16 скорость возрала даже на Cyrix233 очень заметно.
Так что надо исправлять ситуацию. До переписывания был вообще попикселный вывод - с жуткими тормозами.
Я повторюсь - ядро ревизии 160 прекрасно работает с этими режимами.
Нашёл причину тормозов. Дело в mtrr и в виртуальном буфере в режимах 0 и 9. Кстати теперь он создается динамически в init_LFB. Пока в режимах 0 и 9 mtrr надо отключать. Вообще это хорошая демонстрация того, как влияет кеширование памяти на быстродействие.
Предложение не представляется возможным осуществить в связи с тем, что stackcfg уже удалёнHeavyiron wrote: Поступило предложение удалить приложение stackinf: это всего-лишь описание, оформленное в виде программы. Тем более текстовый файл, на который она ссылается из дистрибутива давно удален...
![Smile :-)](./images/smilies/icon_smile.gif)
stackconf удален? Наверное, ты имел в виду stackinf ![Wink ;)](./images/smilies/icon_wink.gif)
![Wink ;)](./images/smilies/icon_wink.gif)
Serge
При отключении mtrr режимы 0 и 9 действительно работают, но заметно снижение скорости.
При отключении mtrr режимы 0 и 9 действительно работают, но заметно снижение скорости.
В системе MTRR управляют кешированием видеопамяти. Если их отключить то быстродействие снизится во всех режимах работающих с настоящим LFB. В последнем ядре (201) init_mtrr не вызывается для режимов 0 и 9.
Who is online
Users browsing this forum: No registered users and 24 guests