качественная графика на Паскале, вопрос к профессионалам |
качественная графика на Паскале, вопрос к профессионалам |
TarasBer |
Сообщение
#1
|
Гость |
У меня вопрос: какие есть способы вывода на экран в графическом режиме (модуль graph не предлагать - тормозной шибко)? Я знаю только один: обращение к видеопамяти - адрес $A000: $0000. Но этот способ удобен лишь при разрешении 320х200 256 цветов. Потому что при другом разрешении видеопамять не влезает в 64 кб и для вывода приходится переключать страницы и делать лишние расчёты, что сильно замедляет программу. Можно ли выводить на экран при помощи портов всяких? А то я хочу улучшить свою прогу, находящуюся на tarasber.narod.ru. А исходники к ней я покажу только если вы очень попросите - их там полметра.
|
Archon |
Сообщение
#2
|
Профи Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: 24 |
Для начала спешу выразить огромный респект автору. Видно, что проекту посвящено немало времени.
Теперь к делу. Что ты подразумеваешь под улучшением графики? Более высокие разрешения? Это возможно. Подробности: VESA : можно получить очень высокие разрешения и цветность вплоть до 32 бит на точку, но работает в разы медленнее VGA. X-MODE : Это семейство видеорежимов, имеющих большее разрешение и/или кол-во цветов, чем стандартные режимы VGA. Обладают рядом преимуществ: 1. Я слышал, что эти режимы позволяют добиться 4-х кратного ускорения графики, но сам не проверял. 2. Несколько видео страниц в режимах 256 цветов. 3. Поддерживаются всеми VGA картами. 4. Поддержка скроллинга. Почему-то не рекомендуют ставить горизонтальное разрешение выше 360 точек, обещают проблемы. На сколько мне известно чаще всего в X-Mode используются режимы 360x480x256 и 320x200x256. Линейная адресация в SVGA: Это то, что описал Malice. По скорости несколько быстрее, чем обычная VESA. Позволяет делать скроллинг и аппаратные видео страницы. Принцип работы такой: обращения к памяти за пределом текущего банка перехватываются обработчиком соответствующего исключения и банк меняется. Короче, переключение банков осуществляется автоматически, аппаратными средствами 386 проца. Если что-то заинтересует, постараюсь помочь с документацией, но на много не расчитывай, у меня у самого инфы мало , реально хорошо знаю только обычную VESA. Добавлено: Есть ещё какой-то chain-4, но об этом звере я знаю только то, что он быстрее VGA. Есть предположение, что это и есть X-Mode, но не уверен. Сообщение отредактировано: Archon - -------------------- Close the World...txeN eht nepO
|
andriano |
Сообщение
#3
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
В связи с тем, что тему подняли, наткнулся на нее.
Хотелось бы расставить некоторые точки над i. VESA : можно получить очень высокие разрешения и цветность вплоть до 32 бит на точку, но работает в разы медленнее VGA. Как говорится, чудес не бывает. Цитата X-MODE : Это семейство видеорежимов, имеющих большее разрешение и/или кол-во цветов, чем стандартные режимы VGA. Обладают рядом преимуществ: 1. Я слышал, что эти режимы позволяют добиться 4-х кратного ускорения графики, но сам не проверял. 2. Несколько видео страниц в режимах 256 цветов. 3. Поддерживаются всеми VGA картами. 4. Поддержка скроллинга. Но при этом обладают еще большим количеством недостатков. 4-хкратное ускорение графики возможно лишь при заливке одним цветом. Теоретически. На практике режим очень тормозной из-за необходимости постоянно дергать регистры видеоадаптера. Цитата Почему-то не рекомендуют ставить горизонтальное разрешение выше 360 точек, обещают проблемы. На сколько мне известно чаще всего в X-Mode используются режимы 360x480x256 и 320x200x256. Правда, поддерживается VGA-совместимыми картами, выпущенными позднее. Кстати, о работе в этих режимах я в свое время писал: http://www.osp.ru/pcworld/1997/05/157500/ http://www.osp.ru/pcworld/1997/09/157969/ http://www.osp.ru/pcworld/1997/11/158244/ но с тех пор прошло более 10 лет, и на сегодняшний день, думаю, эта технология уже потеряла актуальность. Цитата Линейная адресация в SVGA: Это то, что описал Malice. По скорости несколько быстрее, чем обычная VESA. Позволяет делать скроллинг и аппаратные видео страницы. Принцип работы такой: обращения к памяти за пределом текущего банка перехватываются обработчиком соответствующего исключения и банк меняется. Короче, переключение банков осуществляется автоматически, аппаратными средствами 386 проца. То, что описано, это программная эмуляция линейного буфера, применяемая иногда для тех карт, в которых аппаратного LFB не было. Делалась она исключительно в целях совместимости и ни о каком приросте скорости говорить не приходится. Другое дело - наличие апаратно поддерживаемого LFB (что, собственно, и было на подавляющем числе видеокарт. Вот он действительно позволял добиться заметно более высокой скорости. Цитата Если что-то заинтересует, постараюсь помочь с документацией, но на много не расчитывай, у меня у самого инфы мало , реально хорошо знаю только обычную VESA. Цитата Добавлено: Есть ещё какой-то chain-4, но об этом звере я знаю только то, что он быстрее VGA. Есть предположение, что это и есть X-Mode, но не уверен. |
Текстовая версия | 20.04.2024 15:13 |