Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

16. Графическое изображение характеристик монитора.

Для того, чтобы построить диаграмму режимов монитора, вам понадобиться gnuplot package (свободный графический язык для Unix систем) и программа под названием tool modeplot, шеловый скрипт для gnuplot для изображения диаграммы характеристик монитора, водимых в командной строке.

Вот копия modeplot:

   #!/bin/sh
   #
   # modeplot -- генерация диаграммы возможных режимов  монитора
   
   #
   # Запустите `modeplot -?' чтобы увидеть возможные опции программы.
   #
   # ($Id: XFree86-Video-Timings-HOWTO.sgml,v 1.1 2001/06/05 08:08:31 pax Exp $)
 
   # Monitor description. Bandwidth in MHz, horizontal frequencies in kHz
   # and vertical frequencies in Hz.
   TITLE="Viewsonic 21PS"
   BANDWIDTH=185
   MINHSF=31
   MAXHSF=85
   MINVSF=50
   MAXVSF=160
   ASPECT="4/3"
   vesa=72.5       # минимальная рекомендованная частота рефреша для VESA
     
   while [ "$1" != "" ]
   do
           case $1 in
           -t) TITLE="$2"; shift;;
           -b) BANDWIDTH="$2"; shift;;
           -h) MINHSF="$2" MAXHSF="$3"; shift; shift;;
           -v) MINVSF="$2" MAXVSF="$3"; shift; shift;;
           -a) ASPECT="$2"; shift;;
           -g) GNUOPTS="$2"; shift;;
           -?) cat <<EOF
   modeplot control switches:
 
   -t "<description>"      name of monitor            defaults to "Viewsonic 21PS"
   -b <nn>                 bandwidth in MHz           defaults to 185
   -h <min> <max>          min & max HSF (kHz)        defaults to 31 85
   -v <min> <max>          min & max VSF (Hz)         defaults to 50 160
   -a <aspect ratio>       aspect ratio               defaults to 4/3
   -g "<options>"          pass options to gnuplot
 
   The -b, -h and -v options are required, -a, -t, -g optional.  You can
   use -g to pass a device type to gnuplot so that (for example) modeplot's
   output can be redirected to a printer.  See gnuplot(1) for  details.
 
   The modeplot tool was created by Eric S. Raymond <esr@thyrsus.com> based on
   analysis and scratch code by Martin Lottermoser <Martin.Lottermoser@mch.sni.de>
 
   This is modeplot $Revision: 1.1 $
   EOF
                   exit;;
           esac
           shift
   done
 
   gnuplot $GNUOPTS <<EOF
   set title "$TITLE Mode Plot"
 
   # Константы.  Unfortunately, the plot is quite sensitive to changes in
   # these, and they may fail to represent reality on some monitors.  We need
   # to fix values to get even an approximation of the mode diagram.  These come
   # from looking at lots of values in the ModeDB database.
   F1 = 1.30       # multiplier to convert horizontal resolution to frame width
   F2 = 1.05       # multiplier to convert vertical resolution to frame height
 
   # Function definitions (multiplication by 1.0 forces real-number arithmetic)
   ac = (1.0*$ASPECT)*F1/F2
   refresh(hsync, dcf) = ac * (hsync**2)/(1.0*dcf)
   dotclock(hsync, rr) = ac * (hsync**2)/(1.0*rr)
   resolution(hv, dcf) = dcf * (10**6)/(hv * F1 * F2)
 
   # Put labels on the axes
   set xlabel 'DCF (MHz)'
   set ylabel 'RR (Hz)' 6  # Put it right over the Y axis
 
   # Generate diagram
   set grid
   set label "VB" at $BANDWIDTH+1, ($MAXVSF + $MINVSF) / 2 left
   set arrow from $BANDWIDTH, $MINVSF to $BANDWIDTH, $MAXVSF nohead
   set label "max VSF" at 1, $MAXVSF-1.5
   set arrow from 0, $MAXVSF to $BANDWIDTH, $MAXVSF nohead
   set label "min VSF" at 1, $MINVSF-1.5
   set arrow from 0, $MINVSF to $BANDWIDTH, $MINVSF nohead
   set label "min HSF" at dotclock($MINHSF, $MAXVSF+17), $MAXVSF + 17 right
   set label "max HSF" at dotclock($MAXHSF, $MAXVSF+17), $MAXVSF + 17 right
   set label "VESA $vesa" at 1, $vesa-1.5
   set arrow from 0, $vesa to $BANDWIDTH, $vesa nohead # style -1
   plot [dcf=0:1.1*$BANDWIDTH] [$MINVSF-10:$MAXVSF+20] \
     refresh($MINHSF, dcf) notitle with lines 1, \
     refresh($MAXHSF, dcf) notitle with lines 1, \
     resolution(640*480,   dcf) title "640x480  " with points 2, \
     resolution(800*600,   dcf) title "800x600  " with points 3, \
     resolution(1024*768,  dcf) title "1024x768 " with points 4, \
     resolution(1280*1024, dcf) title "1280x1024" with points 5, \
     resolution(1600*1280, dcf) title "1600x1200" with points 6
 
   pause 9999
   EOF
Убедившись в наличии пакетов modeplot и gnuplot, вам понадобятся следующие характеристики монитора:
  • полоса пропускания (VB)
  • диапазон частот горизонтальной синхронизации (HSF)
  • диапазон частот вертикальной синхронизации (VSF)
Программа изображения диаграмм делает некоторые допущения для упрощения, которые необязательно правильные. Вот почему результирующая диаграмма - это только грубое приближение. Вот эти допущения:
  1. Все разрешения имеют только одно соотношение сторон экрана AR = HR/VR. Стандартные разрешения имеют AR = 4/3 или AR = 5/4. Modeplot принимает 4/3 по умолчанию , но вы можете и изменить этот параметр.
  2. Для рассматриваемых режимов, горизонтальная и вертикальная длины кадров жесткое произведение горизонтальных и вертикальных разрешений, соответственно:
            HFL = F1 * HR
            VFL = F2 * VR
    
Для грубой прикидки возьмем F1 = 1.30 и F2 = 1.05 (см. "Расчет размера кадра").

Теперь возьмем частоту занимающую особое положение , HSF. Приведенные допущения лишь показывают, что каждое значение для DCF заранее определяет частоту обновления RR, т.е. для любого значения HSF существует функция RR(DCF). Она может быть получена следующим образом:

Частота обновления равна частоте стробирования деленной на произведение длин кадра:

 RR = DCF / (HFL * VFL)          (*)    
С другой строны, горизонтальная длина кадра равна частоте карты поделеной на частоту горизонтальной синхронизации:

                HFL = DCF / HSF                 (**)
Значение VFL может быть уменьшено до HFL с помощью вышеприведенных допущений:

                VFL = F2 * VR
                    = F2 * (HR / AR)
                    = (F2/F1) * HFL / AR        (***)
Подставляя (**) и (***) в (*) мы получаем:

                RR = DCF / ((F2/F1) * HFL**2 / AR)
                   = (F1/F2) * AR * DCF * (HSF/DCF)**2
                   = (F1/F2) * AR * HSF**2 / DCF
При неизменных HSF, F1, F2 и AR, на нашей диаграмме это гипербола. Нарисовав две таких кривых для минимальной и максимальной горизонтальной частоты синхронизации, мы получили две оставшиеся границы допустимой области.

Прямые линии пересекающие допустимую область представляют особые разрешения. Это основано на (*) и следующем допущении:

                RR = DCF / (HFL * VFL) = DCF / (F1 * HR * F2 * VR)
Нарисовав эти линии для всех разрешении, которые нас интересуют, можно сразу же прочитать на диаграмме возможные соотношения между разрешением, частоты карты и частоты обновления допустимые для монитора. Обратите внимание, что эти линии не зависят от характеристик монитора, а зависят от второго допущения.

Программа modeplot предоставляет удобства для этого. Чтобы посмотреть возможные опции запустите modeplot -?. Типичная командная строка выглядит так:

                modeplot -t "Swan SW617" -b 85 -v 50 90 -h 31 58
Ключ -b определяет полосу пропускания; -v и -h устанавливают диапозоны для горизонтальной и вертикальной частот разверток.

Читая результаты работы modeplot, всегда имейте в виду, что это только приблизительные оценки. Например, она не рассматривает ограничения HFL, зависящей от минимально необходимой ширины синхроимпульса, она может быть точна лишь настолько, насколько точны допущения. Поэтому заменить точные вычисления (и шаманство) ничто не может что и описано в разделе "Подводя итог". Тем не менее, знание ее возможностей должно дать вам ощущение комфорта.


Вперед Назад Содержание
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...