Next Previous Contents

3. Как работает монитор

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

Луч начинает свое движение с верхней левой части экрана, перемещаясь по прямой слева направо и ненадолго задерживается в правой части экрана. Затем, луч движется влево, но на одну строку ниже. Процесс повторяется как и в предыдущем случае до тех пор, пока не будет достигнута нижняя часть экрана. Затем, луч перемещается в левый верхний угол и все начинается сначала.

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

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

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

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

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

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

S 4. Основные положения, которые нужно знать о вашем мониторе и видеокарте.

Для того, чтобы вносить изменения в Xconfig, вам надо знать следующее:

  • горизонтальную и вертикальную частоту вашего монитора.
  • частоту видеокарты (dot clock)
  • полосу пропускания монитора
Частоты синхронизации монитора:

Частота горизонтальных синхроимульсов - это просто число горизонтальных линий, которое монитор способен генерировать за секунду. Это наиболее важный параметр важего монитора. Частота вертикальных синхроимульсов - число вертикальных перемещений луча за секунду времени.

Частоты синхронизации обычно перечислены в разделе спецификации руководства на ваш монитор. Вертикальная синхронизация обычно обозначается в герцах (Гц) - циклов в секунду, горизонтальная частота в килогерцах - 1000 циклов секунду (КГц). Частота вертикальной синхронизации обычно лежит в пределах 50-150 Гц, горизонтальной - в пределах 31-135 КГц.

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

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

Частота видеокарты:

В руководстве на вашу видекарту обычно описывается ее частота (dot clock) т.е. количество точек в секунду, которое карта способна нарисовать на экране. Если у вас нет этой информации, то X сервер вам ее предоставит. Даже если X сервер заблокирует монитор, он покажет на терминале линейку частот и другую информацию. Если вы перенаправите эту информацию в файл, надо ее сохранить даже, если вам придеться перезагрузиться, чтобы снова получить доступ к консоли. (Все последние версии X серверов поддерживают опцию --probeonly, которые высвечивают эту информацию и заканчивают работу не загружая X-ы и, даже, не изменяя видеорежима).

Когда начинает загружаться X сервер сообщения выглядят примерно так:

Если вы используете XFree86:

 
   Xconfig: /usr/X11R6/lib/X11/Xconfig
   (**) stands for supplied, (--) stands for probed/default values
   (**) Mouse: type: MouseMan, device: /dev/ttyS1, baudrate: 9600
   Warning: The directory "/usr/andrew/X11fonts" does not exist.
            Entry deleted from font path.
   (**) FontPath set to "/usr/lib/X11/fonts/misc/,/usr/lib/X11/fonts/75dpi/"
   (--) S3: card type: 386/486 localbus
   (--) S3: chipset:   924
                       ---  
             Точное обозначние чипсета; прототип для 86C911
             
   (--) S3: chipset driver: s3_generic
   (--) S3: videoram:  1024k
                       -----
            Объем страничной памяти RAM
            
   (**) S3: clocks:  25.00  28.00  40.00   3.00  50.00  77.00  36.00  45.00
   (**) S3: clocks:   0.00   0.00  79.00  31.00  94.00  65.00  75.00  71.00
                     ------------------------------------------------------
                                 Возможные частоты в Мгц
                                 
   (--) S3: Maximum allowed dot-clock: 110MHz
                                       ------
                                      Полоса пропускания
                                      
   (**) S3: Mode "1024x768": mode clock =  79.000, clock used =  79.000
   (--) S3: Virtual resolution set to 1024x768
   (--) S3: Using a banksize of 64k, line width of 1024
   (--) S3: Pixmap cache:
   (--) S3: Using 2 128-pixel 4 64-pixel and 8 32-pixel slots
   (--) S3: Using 8 pages of 768x255 for font  caching
   
   Если вы используете SGCS или  X/Inside X:
   
     WGA: 86C911 (mem: 1024k clocks: 25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71)
   ---  ------       -----         --------------------------------------------
    |     |            |                 Допустимые частоты в МГц
    |     |            +-- Объем памяти
    |     +-- Тип чипа
    +-- Тип сервера
Примечание: выполняйте эту операцию при минимальной загрузке машины (насколько это возможно). Поскольку X сервер это приложение, его циклы измерения могут быть неточными из-за дисковой активности. Поэтому проделайте это несколько раз и добейтесь одинаковых результатов. Если не получается, начинайте убивать процессы пока не добьетесь желаемого. Пользователям SVr4: процесс mousemgr наверняка вам все будет портить.

Чтобы избежать неточностей при измерении, вам следует взять значения, полученые при тестировании , и поместить их в раздел Clocks конфигурационного файла Xconfig - это подавляет измерительный цикл и дает X-ам точный список значений частот, которые могут тестироваться X-ми. Используем значения из приведенного выше примера:

   wga
           Clocks  25 28 40 3 50 77 36 45 0 0 79 31 94 65 75 71
В системах с большой нагрузкой этот метод позволит избежать таинственных проблем связанных с невозможностью запуска X сервера. X сервер может взять неправильные значения из-за большой нагрузки системы, а затем он будет не способен найти подходящую частоту карты или найдет неправильную частоту!


Next Previous Contents

Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости