stringtranslate.com

Текстовый режим

Текстовый режим — это режим отображения компьютера , в котором содержимое представляется на экране компьютера в виде символов , а не отдельных пикселей . Обычно экран состоит из равномерной прямоугольной сетки ячеек символов , каждая из которых содержит один из символов набора символов ; в то же время, в отличие от графического режима или других видов режимов компьютерной графики .

Приложения текстового режима взаимодействуют с пользователем с помощью интерфейсов командной строки и текстовых пользовательских интерфейсов . Многие наборы символов, используемые в приложениях текстового режима, также содержат ограниченный набор предопределенных полуграфических символов, которые можно использовать для рисования полей и другой элементарной графики, которую можно использовать для выделения содержимого или для имитации объектов виджетов или интерфейса управления, обнаруженных в программах с графическим пользовательским интерфейсом . Типичным примером является набор символов кодовой страницы IBM 437 .

Важной характеристикой программ текстового режима является то, что они используют моноширинные шрифты , где каждый символ имеет одинаковую ширину на экране, что позволяет им легко поддерживать вертикальное выравнивание при отображении полуграфических символов. Это была аналогия ранних механических принтеров с фиксированным шагом. Таким образом, вывод, видимый на экране, можно было отправить непосредственно на принтер, сохраняя тот же формат.

В зависимости от среды буфер экрана может быть напрямую адресуемым . Программы, отображающие выходные данные на удаленных видеотерминалах, должны выдавать специальные управляющие последовательности для управления буфером экрана. Наиболее популярные стандарты таких последовательностей управления — ANSI и VT100 .

Программы, получающие доступ к экранному буферу через последовательности управления, могут потерять синхронизацию с реальным дисплеем, поэтому во многих программах текстового режима есть команда повторного отображения всего , часто связанная с Ctrl-Lкомбинацией клавиш.

История

Рендеринг видео в текстовом режиме приобрел известность в начале 1970-х годов, когда текстовые терминалы , ориентированные на видео, начали заменять телетайпы при интерактивном использовании компьютеров.

Преимущества

Преимущества текстовых режимов по сравнению с графическими режимами включают меньшее потребление памяти и более быстрое манипулирование экраном. [1] В то время, когда текстовые терминалы начали заменять телетайпы в 1970-х годах, чрезвычайно высокая стоимость оперативной памяти в тот период делала непомерно дорогой установку достаточной памяти для компьютера, чтобы одновременно хранить текущее значение каждого пикселя на компьютере. экран, чтобы сформировать то, что теперь будет называться фреймбуфером . Ранние фреймбуферы представляли собой автономные устройства, которые стоили десятки тысяч долларов, не считая затрат на современные дисплеи высокого разрешения, к которым они были подключены. [2] Для приложений, которым требовалась простая линейная графика, но для которых затраты на кадровый буфер не могли быть оправданы, векторное отображение было популярным обходным решением. Но существовало множество компьютерных приложений (например, ввод данных в базу данных), для которых все, что требовалось, — это способность быстро и экономично отображать обычный текст на электронно -лучевой трубке .

Текстовый режим позволяет избежать проблемы дорогой памяти за счет того, что специальное оборудование дисплея повторно отображает каждую строку текста из символов в пиксели при каждом сканировании экрана катодным лучом. В свою очередь, аппаратному обеспечению дисплея требуется достаточно памяти только для одновременного хранения пикселей, эквивалентных одной строке текста (или даже меньше). Таким образом, экранный буфер компьютера хранит и знает только основные текстовые символы (отсюда и название «текстовый режим»), и единственным местом, где фактические пиксели, представляющие эти символы, существуют как единое единое изображение, является сам экран, с точки зрения пользователя. пользователь (благодаря феномену инерционности зрения ).

Например, для экранного буфера, достаточного для хранения стандартной сетки размером 80 на 25 символов, требуется не менее 2000 байт. [1] Если предположить, что монохромный дисплей имеет 8 бит на байт и стандартный размер 8 раз по 8 бит для каждого символа, то для кадрового буфера, достаточно большого для хранения каждого пикселя на результирующем экране, потребуется не менее 128 000 бит, 16 000 байт или просто менее 16 килобайт. По стандартам современных компьютеров это может показаться тривиальным объемом памяти, но если представить их в контексте, то оригинальный Apple II был выпущен в 1977 году всего с четырьмя килобайтами памяти и ценой в 1300 долларов США (в то время, когда минимальная заработная плата в США составляла всего 2,30 доллара в час). Более того, с точки зрения бизнеса экономическое обоснование текстовых терминалов не имело смысла, если их можно было производить и эксплуатировать дешевле, чем телетайпы, нуждающиеся в бумаге, которые они должны были заменить.

Еще одним преимуществом текстового режима является то, что он имеет относительно низкие требования к полосе пропускания при использовании удаленного терминала. Таким образом, удаленный терминал в текстовом режиме может обязательно обновлять экран гораздо быстрее, чем удаленный терминал в графическом режиме, подключенный к той же полосе пропускания (и, в свою очередь, будет казаться более отзывчивым), поскольку удаленному серверу может потребоваться передать только несколько десятков байтов. для каждого обновления экрана в текстовом режиме, в отличие от удаленных вызовов процедур сложной растровой графики , которые могут потребовать передачи и рендеринга целых растровых изображений .

Пользовательские символы

Граница между текстовым режимом и графическими программами иногда может быть размытой, особенно на оборудовании VGA ПК , поскольку многие более поздние программы текстового режима пытались довести модель до крайности, играя с видеоконтроллером . Например, они переопределили набор символов, чтобы создать собственные полуграфические символы, или даже создали внешний вид графического указателя мыши, переопределив внешний вид символов, над которыми в данный момент показывался указатель мыши.

Рендеринг в текстовом режиме с пользовательскими символами также оказался полезен для 2D- компьютерных и видеоигр , поскольку управлять игровым экраном можно гораздо быстрее, чем при пиксельно-ориентированном рендеринге.

Техническая база

Видеоконтроллер , реализующий текстовый режим, обычно использует две отдельные области памяти . Память символов или таблица шаблонов содержит используемый растровый шрифт , где каждый символ представлен точечной матрицей ( матрицей битов ), поэтому память символов можно рассматривать как трехмерный битовый массив . Матрица отображения ( текстовый буфер , экранный буфер или таблица имен ) отслеживает, какой символ находится в каждой ячейке. В простом случае матрица отображения может быть просто матрицей кодовых точек (так называемая таблица указателей символов ), но обычно она хранит для каждой позиции символа не только код, но и атрибуты .

В случае вывода растровой развертки , наиболее распространенной для компьютерных мониторов, соответствующий видеосигнал вырабатывает символьный генератор — специальный электронный блок, аналогичный одноименным устройствам, используемым в видеотехнике . Видеоконтроллер имеет два регистра : счетчик строк развертки и счетчик точек, служащих координатами в точечной матрице экрана. Каждый из них необходимо разделить на соответствующий размер глифа, чтобы получить индекс в матрице отображения; остаток — это индекс в матрице глифов . Если размер глифа равен 2 n , то можно просто использовать n младших битов двоичного регистра в качестве индекса в матрице глифа, а остальные биты в качестве индекса в матрице отображения — см. схему.

В некоторых системах символьная память находится в постоянной памяти . Другие системы позволяют использовать для этой цели ОЗУ , что позволяет переопределить шрифт и даже набор символов для конкретных целей приложения. Использование символов на основе ОЗУ также упрощает некоторые специальные методы, такие как реализация кадрового буфера пиксельной графики путем резервирования некоторых символов для растрового изображения и записи пикселей непосредственно в соответствующую им символьную память. В некоторых исторических графических чипах, включая TMS9918 , MOS Technology VIC и графическом оборудовании Game Boy , это был фактически канонический способ создания пиксельной графики.

Текстовые режимы часто присваивают атрибуты отображаемым символам. Например, терминал VT100 позволяет подчеркивать, подчеркивать, мигать или инвертировать каждый символ. Устройства с поддержкой цвета обычно позволяют выбирать цвет каждого символа, а часто и цвет фона, из ограниченной палитры цветов. Эти атрибуты могут либо сосуществовать с индексами символов, либо использовать другую область памяти, называемую цветовой памятью или памятью атрибутов . [3]

Некоторые реализации текстового режима также имеют концепцию атрибутов строки. Например, линейка текстовых терминалов, совместимая с VT100, поддерживает удвоение ширины и высоты символов в отдельных текстовых строках.

Общие текстовые режимы ПК

В зависимости от используемого графического адаптера на компьютерах , совместимых с IBM PC , доступны различные текстовые режимы . Они перечислены в таблице ниже: [4]

Текст MDA можно выделить с помощью атрибутов яркости, подчеркивания, реверса и мерцания.

Видеокарты в целом обратно совместимы, т.е. EGA поддерживает все режимы MDA и CGA, VGA поддерживает режимы MDA, CGA и EGA.

Безусловно, наиболее распространенным текстовым режимом, используемым в средах DOS и начальных консолях Windows, является стандартный формат 80 столбцов по 25 строк или 80 × 25 с 16 цветами. Этот режим был доступен практически на всех IBM и совместимых персональных компьютерах. Некоторые программы, такие как эмуляторы терминала , использовали для основного дисплея только 80×24 и зарезервировали нижний ряд для строки состояния .

Два других текстовых режима VGA, 80×43 и 80×50, существуют, но используются очень редко. Текстовые режимы с 40 столбцами никогда не пользовались большой популярностью за пределами игр и других приложений, предназначенных для совместимости с телевизионными мониторами, и использовались только в демонстрационных целях или на очень старом оборудовании.

Размеры символов и графическое разрешение для расширенных текстовых режимов Super VGA , совместимых с VESA , зависят от производителя. Кроме того, в этих адаптерах дисплея количество доступных цветов может быть уменьшено вдвое с 16 до 8 при использовании второго настраиваемого набора символов (что дает общий набор из 512 — вместо обычных 256 — различных графических символов, одновременно отображаемых на экране).

Некоторые карты (например, S3 ) поддерживали пользовательские режимы очень большого текста, например 100×37 или даже 160×120. В системах Linux программа под названием SVGATextMode часто используется с картами SVGA для настройки очень больших текстовых режимов консоли, например, для использования с терминальными мультиплексорами с разделенным экраном .

Современное использование

Многие современные программы с графическим интерфейсом имитируют стиль отображения программ текстового режима, особенно когда важно сохранить вертикальное выравнивание текста, например, во время компьютерного программирования . Существуют также программные компоненты для эмуляции текстового режима, такие как эмуляторы терминала или консоли командной строки . В Microsoft Windows консоль Win32 обычно открывается в эмулируемом графическом оконном режиме. Его можно переключить в полноэкранный, текстовый режим и наоборот, одновременно нажав клавиши Alt и Enter . [5] Это больше не поддерживается драйверами дисплея WDDM, представленными в Windows Vista. [6]

Виртуальная консоль Linux работает в текстовом режиме. Большинство дистрибутивов Linux поддерживают несколько экранов виртуальной консоли, доступ к которым осуществляется путем одновременного нажатия Ctrl , Alt и функциональной клавиши .

Библиотека с открытым исходным кодом AAlib предоставляет программы и процедуры, которые специализируются на переводе стандартных изображений и видеофайлов, таких как PNG и WMV , и их отображении в виде набора символов ASCII . Это обеспечивает элементарный просмотр графических файлов в системах с текстовым режимом и в веб-браузерах с текстовым режимом, таких как Lynx .

Смотрите также

Рекомендации

  1. ^ аб Бош, Винн Л. (июль 1992 г.). «Идеальный ПК». Журнал ПК . 11 (13): 186 . Проверено 15 декабря 2015 г.
  2. ^ Смит, Элви Рэй (2021). Биография Пикселя. Кембридж: MIT Press. п. 363. ИСБН 9780262365215. Проверено 1 октября 2022 г.В этой книге Смит вспоминает, что его первый фреймбуфер в лаборатории компьютерной графики Нью-Йоркского технологического института стоил 80 000 долларов в середине 1970-х годов. Он мог хранить массив пикселей размером 512 x 512 с 256 цветами на пиксель (то есть с 8-битной глубиной цвета ). Александр Шуре вскоре купил для лаборатории еще пять фреймбуферов по 60 000 долларов каждый. Лаборатория быстро объединила шесть своих кадровых буферов вместе, в две группы по три в каждой, чтобы создать первые два настоящих 24-битных цветных кадровых буфера RGB . Таким образом, первый стоил 200 000 долларов, а второй — 180 000 долларов; Как отмечает Смит, с поправкой на инфляцию эти цифры составляют примерно 1,7 миллиона долларов в долларах 2021 года, что объясняет, почему исследователи Лаборатории были «в восторге» от щедрости Шуре.
  3. ^ Макет и палитра текстового режима
  4. ^ Текстовые режимы в списке прерываний Ральфа Брауна
  5. ^ Windows использует Alt+Enter, чтобы развернуть терминал на весь экран.
  6. ^ «Некоторые 16-битные программы для DOS и командная строка не запускаются в полноэкранном режиме в Windows Vista и Windows 7».

Внешние ссылки

дальнейшее чтение