На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
В этом разделе можно создавать темы, которые относятся к поколению 32-битных компиляторов.
Здесь решаются вопросы портирования кода из старого доброго Турбо Паскаля в FPC, TMT, VP, GPC компиляторы, а также особенностей программирования на них для Windows/Linux и других ОС.
Указывайте тип компилятора, его версию, а также платформу (Windows/Linux/..) компиляции, другими словами, Target.
Модераторы: volvo877
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> VESA, Protected mode и LFB.
    (Как всё это заставить работать ??? )
    Подскожите Pleazz как инициализировать графический режим 640x480x8
    в Protected mode с использованием LFB. (А то в Real медленно получается)
    И если можно укожите пару адресков с аписанием.
    Сообщение отредактировано: Chibis -
      Не занимайся ерундой! :) Что в Real, что в Protected mode - скорость почти не  изменится. Попробуй писать процедуры на ассемблере по копированию области памяти с картинкой в видео память SVGA (Я в своё время бился, да так мне это надоело) ;)
        Fallex
        Спасибо за совет, но ты вобше работал с VESA.
        VESA позваляет работать с бальшими разрешениями и количеством цветов.
        А меня интересует 640x480x16. В Real mode есть только одно (два но второе не используют)
        окно $A000 разметом 64к и это значит, что весь видео буфер нужно
        грузить по кускам 640*480*2/65536=9.375 (на одну страницу надо 10
        кусков). Из за этих кусков резко усложняются все процедуры вывода
        графики на экран и по таму нужно инфо по LFB (Long frame bufer (если не ошибаюсь)).
        Все линейно по таму и скорость больше понемаеш?
          Информации по LFB более чем достаточно, например, имеется официальное описание стандарта VESA/VBE 3 Core Functions, которое можно скачать с www.vesa.org. Тем не менее, имей в виду, что LFB-приложения не работают под операционными системами Windows NT (NT 3/4, 2000, XP), а это довольно сильное ограничение... :-( Таким образом, использование VESA 1.2 (т.е. работа с банками видео памяти) остается единственным надежным методом программирования SVGA графики в приложениях MS-DOS.
            Используй TMT-Pascal !!! Очень удобная работа с графикой !!!
              vb
              Если LFB под win 2000 не палит то вазможно ли добится приемлимых скоростей используя банки видео памяти?
              (скажем закрашивать экран 50 раз на секунду в режиме 640x480x16 на 333 Celeron)
                7in
                Я бы с удовольствием изучил бы TMT но у меня есть только кампилятор (без редактоа),
                что давольно не удобно.
                  Интересно, куда ж он, редактор, у тебя делся-то???
                  Он обзывается idew32.exe :)
                  Скачивай новую версию 3.90!
                    Цитата Chibis, 27.04.02, 00:33:38
                    vb
                    Если LFB под win 2000 не палит то вазможно ли добится приемлимых скоростей используя банки видео памяти?
                    (скажем закрашивать экран 50 раз на секунду в режиме 640x480x16 на 333 Celeron)


                    Это зависит от оптимизации твоего кода и от производительности видеокарты (критическим фактором является пропускная способность VRAM). Думаю, что прокачать 234.5 Mb в секунду ("...закрашивать экран 50 раз на секунду в режиме 640x480x16...") сможет практически любая видеокарта, т.к. даже простенькая Riva Vanta LT имеет пропускную способность памяти 800 Мб/с.
                      2: Chibis
                      Я немного ошибся в своем предыдущем письме. В действительности, для выполнения твоей задачи нужно прокачать не 234.5 Мб/с, а всего-навсего 29.3 Мб/с (=640*480*2*50). Такая пропускная способность не является проблемой даже для очень древних карточек.
                        Правильно люди говорят! ;)
                        ТМТ паскаль - и проблема решена( ну почти ::))
                        Так чо поищи лучше инфу по модулю GRAPH в ТМТ
                          Ладно уговорили. Уже качаю TMT.
                            vb
                            Незнаю но я лично дабился скорости не больше 40 кадров.
                            Использовал Pascal 7.0 с Asm.
                            Перебрасывал по 4 байта используя db 66h.
                            Все тормоза как я понел из за переключения банков.
                              TMT С РЕДАКТОРОМ, ПРИБАМБАСАМИ, ПРИМЕРАМИ V3.90 И ГЛАВНОЕ НА ХАЛЯВУ  :D
                              Уже слюньки потекли. :P
                              Сообщение отредактировано: Chibis -
                                Цитата Chibis, 27.04.02, 22:39:51
                                vb
                                Незнаю но я лично дабился скорости не больше 40 кадров.
                                Использовал Pascal 7.0 с Asm.
                                Перебрасывал по 4 байта используя db 66h.
                                Все тормоза как я понел из за переключения банков.

                                Использование 32-битных команд в 16-битном режиме (db 66h) выполняется не особо быстро. Все-таки в native 32-bit protected mode это дело работает гораздо шустрее. Конечно, процедура переключения банков тоже требует достаточно много времени. Тем не менее, она не должна _так_сильно_ тормозить процесс... Ты не мог бы привести полный код своей процедуры закраски экрана?
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0337 ]   [ 16 queries used ]   [ Generated: 4.05.24, 11:22 GMT ]