Otra manera de ver la fórmula que utilizamos arriba es
FRTV = TR * LIH * LIV
Esto es, su velocidad de reloj es fija. Puede utilizar esos puntos por
segundo para comparar tanto tasa de refresco, resolución horizontal y
resolución vertical. Si uno de estos aumenta, al menos uno de los otros
dos debe disminuir.
Fíjese, sin embargo, que su velocidad de refresco no puede ser mayor que
la máxima velocidad de refresco de su monitor. Esto es, para un monitor
dado a una frecuencia de reloj determinada, existe un producto mínimo de
longitudes de imagen por debajo del cual usted no puede forzarlo.
Al escoger sus ajustes, recuerde: si establece TR demasiado bajo, será
invadido por el parpadeo de la pantalla.
Probablemente no quiera poner la tasa de refresco por debajo de 50-60Hz. Esta
es la velocidad de parpadeo de los tubos fluorescentes; si usted es sensible
a estos, deberá llegar a los 72Hz, el estándar ergonómico de VESA.
El parpadeo fatiga muchos los ojos, aunque los ojos humanos son muy adaptativos
y la tolerancia de la gente puede variar mucho. Si usted observa su monitor
con un ángulo de 48º, está utilizando un fondo oscuro y un buen color que
contraste como primer plano, ajusta el brillo a un nivel medio o bajo,
*podría* sentirse cómodo con solo 45Hz.
La prueba de fuego es ésta: abra un xterm con fondo blanco y texto negro
utilizando xterm -bg white -fg black y hágalo tan grande que cubra
todo el área visible. Ponga su monitor a 3/4 de su brillo máximo, y gire su
cara mirando lejos del monitor. Intente observar a su monitor de lado (utilizando
las células de visión periférica de la retina, mucho más sensibles). Si no siente
ningún parpadeo es que la tasa de refresco es buena para usted. Si no, sería
mejor que configurara una tasa de refresco mayor, ya que ese parpadeo
medio invisible fatigará sus ojos y le causará dolores de cabeza, incluso si la
pantala parece perfecta a una visión normal.
Para modos entrelazados, la cantidad de parpadeo depende de más factores como la
resolución vertical y los contenidos de la pantalla en cada instante. Experimente.
No deseará utilizar menos de 85Hz de tasa de media imagen.
Supongamos que ha escogido una velocidad aceptable mínima de refresco. Para
escoger su LHI y LVI aún le quedará bastante margen de maniobra.
Requirimientos de memoria.
La cantidad de memoria de vídeo disponible tiene la capacidad de limitar la resolución que pueda
alcanzar en pantallas de color o escala de grises. Puede que no sea un factor
a tener en cuenta en pantallas con sólo dos colores: blanco y negro sin grados
de gris intermedios.
Para resoluciones de 256 colores, se requiere un byte de memoria para cada
punto que se muestre. Este byte contiene la información que determina qué
mezcla de rojo, verde y azul se genera para cada punto. Para saber la
cantidad de memoria requerida, multiplique el número de puntos visibles por
línea por el número de líneas visibles. Para una pantalla con una resolución
de 800x600, éste será 800 x 600 = 480.000, que es el número de puntos visibles
en la pantalla. Este es también, a un byte por punto, el número de bytes de
memoria de vídeo que necesita en su tarjeta.
Esto es, la cantidad de memoria requerida típicamente será (RH x RV)/1024 Kbytes
de VRAM, redondeando. Si usted posee más memoria de la estrictamente requerida,
tendrá memoria extra para una pantalla virtual más grande por la que
desplazarse.
Sin embargo, si sólo tiene 512K, usted no podrá utilizar esta resolución.
Incluso aunque tenga un buen monitor, sin memoria RAM suficiente,
no podrá tomar partido del potencial de su monitor. En el otro extremo,
si su SVGA tiene un mega, pero su monitor puede mostrar como mucho 800x600,
entonces la alta resolución está más allá de sus posibilidades (vea
[ para buscar un
remedio posible).
No se preocupe si tiene más memoria de la necesaria; XFree86
hará uso de ella permitiéndole desplazar su area de visionado (vea
la documentación del fichero Xconfig acerca del parámetro del tamaño
de pantalla virtual). Recuerde también que una tarjeta con 512K de
memoria no tiene 512.000 bytes, sino 512 x 1024 = 524.288 bytes.
Si está ejecutando SGCS X (ahora llamado X/Inside) utilizando una tarjeta
S3, y desea utilizar 16 colores (4 bits por píxel), puede establecer
una profundidad 4 en Xconfig y duplicar la resolución que su tarjeta puede
manejar. Las tarjetas S3, por ejemplo, suelen alcanzar 1024x768x256.
Usted puede hacerlas llegar hasta 1280x1024x16 con profundidad 4.
]Calculando tamaños de imagen.
Atención: este método ha sido desarrollado para monitores multifrecuencia.
Probablemente funcione también en monitores con frecuencias fijas, pero no
hay una completa seguridad acerca de ello.
Comience dividiendo FRTV entre la mayor FSH disponible para conseguir una
longitud de imagen horizontal.
Por ejemplo: supongamos que usted tiene una SVGA Sigma Legend con una velocidad
de reloj de 65MHz, y su monitor tiene una frecuencia de barrido horizontal de
55KHz. El valor de (FRTV / FSH) es entonces 1181 (65MHz = 65000KHz;
65000/55 = 1181).
Ahora un primer truco de magia oscura. Necesita redondear esta cifra al múltiplo
de 8 más cercano. Esto tiene que ver con los controladores hardware VGA utilizados
por las tarjetas SVGA y S3; utiliza un registro de 8 bits. Otras tarjetas como la
ATI 8514/A no tienen este requerimiento, pero no estamos seguros y esa corrección
puede ser errónea. Por lo tanto, disminuimos la longitud de imagen horizontal útil
redondeando hacia el valor de 1176.
Esta cifra (FRTV / FSH redondado a un múltiplo de 8) es la mínima LHI que puede
utilizar. Puede conseguir mayores LHI (y, posiblemente, más puntos horizontales
en la pantalla) ajustando el pulso de sincronización para producir una FSH más
baja. Pero esto se verá penalizado con un parpadeo más lento y visible.
Como regla general, el 80% de la longitud horizontal de imagen está disponible
para la resolución horizontal, la parte visible de la línea de barrido horizontal
(esto da, aproximadamente, para los bordes y el tiempo de retorno de barrido --
esto es, el tiempo que necesita el rayo para moverse desde el borde derecho hasta
el borde izquierdo de la siguiente línea de barrido). En este ejemplo, son
944 pulsos.
Ahora bien, para conseguir la razón de pantalla normal de 4:3, ajuste su
resolución vertical a 3/4 partes de la resolución horizontal que ha calculado.
Para este ejemplo, son 708 pulsos. Para conseguir su LVI real, multiplíquelo
por 1,05 para conseguir 743 pulsos.
El 4:3 no es técnicamente mágico; nada le impide utilizar otras razones
de proporción alto-ancho que no guarden proporción áurea si eso le permite
aprovechar mejor su pantalla. Esa proporción se alcanza calculando la
altura y anchura de imagen a partir de la diagonal conveniente, simplemente
multiplicando la diagonal por 0,8 para conseguir la anchura y por 0,6 para
conseguir la altura.
Por lo tanto, LHI=1176 y LVI=743. Dividiendo 65MHz entre este producto nos
da una saludable y fantástica tasa de refresco de 74,4Hz. Es incluso mejor
que el estándar VESA. Y se obtiene una resolución 944x708, mejor que la
de 800x600 que se esperaba. No está nada mal.
Se puede todavía mejorar la tasa de refresco hasta casi 76 Hz, utilizando el
hecho de que los monitores pueden sincronizar horizontalmente a 2KHz o más de
su frecuencia nominal, y disminuyendo la LVI un poco (esto es, tomando menos del
75% de 944 en el ejemplo anterior). Pero antes de intentar esta maniobra de
"forzado", si la hace, asegúrese de que el cañón de electrones de su
monitor puede llegar a sincronizar a 76Hz en vertical. (el popular NEC 4D, por
ejemplo, no puede. Sólo llega hasta 75 Hz de FSV). (Vea la sección
[ para más información acerca de esta
materia. )
Ya está, y la mayoría de cosas son sólo operaciones aritméticas simples y básicas
acerca de dispositivos de raster. ¡Casi nada de magia negra!.
]Magia negra y pulsos de sincronización.
Bien. Ya ha calculado los números de LHI/LVI para su FRTV elegida, encontrado
la tasa de refresco aceptable, y comprobado que tiene suficiente VRAM. Ahora
llegamos a la auténtica magia negra -- necesita saber cuándo y dónde colocar
un pulso de sincronización.
Los pulsos de sincronización realmente controlan las frecuencias horizontal y
vertical del monitor. La FSH y la FSV que usted ha extraído de la hoja de
especificaciones son nominales, aproximadamente las frecuencias máximas de
sincronización. El pulso de sincronización incluído en la señal que procede
de la tarjeta de vídeo le dice al monitor a qué velocidad debe funcionar.
¿Recuerda las dos figuras de arriba? Sólo una parte del tiempo requerido para
barrer una imagen se utiliza para mostrar un determinada pantalla (p.e. su
resolución).
Sincronización horizontal.
Según la definición previa, se tarda LIH impulsos de reloj para trazar una
línea horizontal. Llamaremos a partir de ahora al número de impulsos visibles
(su resolución horizontal de pantalla) RH. Entonces, lógicamente, RH < LIH por
definición. Para mayor concreción, asumamos que ambas empiezan en el mismo
instante, tal y como se explica aquí:
|___ __ __ __ __ __ __ __ __ __ __ __ __
|_ _ _ _ _ _ _ _ _ _ _ _ |
|_______________________|_______________|_____
0 ^ ^ unidad: impulsos de reloj
| ^ ^ |
RH | | LIH
| |-------| |
|---| PSH |---|
TGH1 TGH2
Ahora, nos gustaría colocar un pulso de sincronización de longitud PSH tal y como
se explica en el gráfico, por ejemplo, entre el final de los impulsos de reloj para
mostar datos y el final de los impulsos de reloj para toda la imagen. ¿Por qué así?.
Porque si podemos hacer esto, entonces su imagen no se moverá a la derecha o a la
izquierda. Permanecerá en el lugar de la pantalla donde debe estar, cubriendo
perfectamente la zona visualizable de su monitor.
Aún más, deseamos poner alrededor de 30 impulsos de "tiempo de guardia" a cada
lado del pulso de sincronización. Esto está representado como TGH1 y TGH2. En
una configuración típica TGH1 es distinto de TGH2, pero si está construyendo una
configuración partiendo de cero, deseará comenzar sus experimentos con ambos
equivalentes (esto es, con el pulso de sincronización centrado).
El síntoma de un pulso de sincronización mal colocado es que la imagen se encuentra
desplazada en la pantalla, con un borde demasiado ancho y con el otro lado de la
imagen mostrándose cerca del borde de la pantalla, produciendo una línea blanca y
una banda de "imagen fantasma" en ese lado. Un pulso de sincronización vertical
fuera de su lugar puede hacer que la imagen baile como en una televisión con un
marco vertical mal ajustado (de hecho, está causado por el mismo fenómeno).
Si tiene suerte, la anchura de los pulsos de sincronización de su monitor estarán
documentada en su página de especificación. Si no, aquí comienza la verdadera
magia negra...
Aquí tendrá que actuar con el método ensayo-error. Pero en casi todos los casos,
podremos asegurar con certeza que un pulso de sincronización tiene de 3,5 a 4
microsegundos de duración.
Para concretar de nuevo, tomemos PSH para que sea 3,8 microsegundos, (lo que por
cierto, no es un mal valor para comenzar a experimentar).
Ahora, utilizando el reloj de 65Mhz de arriba, sabremos que PSH es equivalente a
247 impulsos de reloj (= 65 * 10^6 * 3,8 * 10^-6)[recordatorio M=10^6, micro=10^-6]
A algunos fabricantes les gusta mencionar sus parámetros horizontales de imagen como
tiempos más que como anchura de puntos. Uste puede ver los siguientes términos:
Sincronización Vertical.
Volviendo al dibujo anterior, ¿cómo colocamos los 247 impulsos de reloj tal y
como se muestra en el gráfico?.
Usando nuestro ejemplo, RH es 944 y LIH es 1176. La diferencia entre los dos
es de 1176 - 944 = 232 < 247!! Obviamente tenemos que realizar un apaño aquí.
¿Qué podemos hacer?.
Lo primero es aumentar 1176 a 1184, y bajar 944 a 936. Ahora la diferencia es
1184-936=248. Algo más cerca.
Luego, en lugar de utilizar 3,8 utilizaremos 3,5 para calcular PSH; entonces
tendremos 65*3.5=227. Tiene mejor aspecto. Pero 248 no es mucho mayor que
227. Suele ser necesario tener alrededor de 30 impulsos de reloj entre RH y el
comienzo del pulso de sincronización, y lo mismo con el final del pulso y LIH.
¡Y ambos deben ser múltiplos de ocho! ¿Estamos atascados?.
No. Hagamos esto: 936 % 8 = 0, (936 + 32) % 8 = 0 también. Pero 936 + 32 = 968,
968 + 227 = 1195, 1195 + 32 = 1227. Hmm.. No parece tener mal aspecto. Pero no
es un múltiplo de 8: redondeamos hasta 1232.
Pero ahora tenemos un problema potencial, el pulso de sincronización no puede estar
situado justo en la mitad entre h y H nunca más. Felizmente, utilizando nuestra
calculadora encontramos 1232 - 32 = 1200 que es también múltiplo de 8 y
(1232 - 32) - 968 = 232 que corresponden a utilizar un pulso de sincronización de
3,57 microsegundos de duración, todavía dentro de lo razonable.
Además, 936/1232 ~ 0.76 o 76%, no demasiado alejado de 80%, por lo que debería
funcionar bien.
Aún más: utilizando la actual longitud de imagen horizontal, básicamente le pedimos
a nuestro monitor que sincronice a 52.7kHz (= 65MHz/1232) lo que está dentro de
su capacidad. No hay problema.
Utilizando la regla sencilla mencionada antes, 936*75%=702. Esta es nuestra nueva
resolución vertical. 702 * 1.05 = 737, nuestra nueva longitud de imagen vertical.
Tasa de refresco de la pantalla = 65Mhz/(737*1232)=71.6 Hz. Aún excelente.
Imaginemos que la distribución del pulso vertical es similar:
|___ __ __ __ __ __ __ __ __ __ __ __ __
|_ _ _ _ _ _ _ _ _ _ _ _ |
|_______________________|_______________|_____
0 RV LIV unit: pulsos de reloj
^ ^ ^
| | |
|---|-------|
TGV PSV
Comenzamos el pulso de sincronización nada más pasar el final de los impulsos
de datos visualizables. TGV es el tiempo de guardia requerido para el pulso
vertical. La mayoría de los monitores se sienten cómodos con un TGV de 0 (sin
tiempo de guardia) y utilizaremos ese valor en este ejemplo. Unos pocos necesitan
dos o tres impulsos de reloj de tiempo de guardia, y normalmente no penaliza
añadirlos.
Volviendo al ejemplo: al igual que la definición de longitud de imagen, un impulso
vertical de reloj es el tiempo empleado por trazar una línea horizontal completa.
En nuestro ejemplo, es 1232/65MHz=18.9us.
La experiencia demuestra que el pulso vertical debe estar en el rango de entre
50us y 300us. Como ejemplo utilizaremos 150us, lo que se traduce a 8 impulsos verticales de reloj (150us/18.95us~8).
Algunos fabricantes mencionan sus parámetros de imagen vertical como tiempos en
lugar de anchura de puntos. Puede observar los siguientes términos:
Resumiendo.
La tabla de modos de vídeo del fichero Xconfig contiene líneas de números, siendo
cada línea una especificación completa para un modo de operación del servidor X.
Los campos se agrupan en cuatro secciones: la sección de nombre, la de frecuencia
de reloj, la sección horizontal y la vertical.
La sección de nombre contiene un campo, el nombre del modo de vídeo especificado
por el resto de la línea. Este nombre es el mencionado en los la línea "Modes"
de la sección de ajuste del controlador de gráficos del fichero Xconfig. El
campo de nombre puede omitirse si el nombre de una línea anterior es el mismo
que el de la línea actual.
La sección de frecuencia de reloj contiene sólo el campo de frecuencia de reloj
(lo que nosotros hemos llamado FRTV) de la línea de modo de vídeo. El número de
este campo especifica qué frecuencia de reloj fue utilizada para generar los
números de las secciones posteriores.
La sección horizontal consta de cuatro campos que especifican cómo debe
generarse cada línea horizontal de la imagen. El primer campo de la sección
contiene el número de puntos por línea que se iluminarán para formar una imagen
(lo que llamamos RH). El segundo campo de la sección (SH1) indica en qué punto
comienza el pulso de sincronización horizontal. El tercer campo (SH2) indica en
qué punto termina el pulso de sincronización horizontal. El cuarto campo
especifica la longitud total de imagen horizontal (LIH).
La sección vertical también contiene cuatro campos. El primero contiene el número
de líneas visibles que aparecerán en la pantalla (RV). El segundo campo (SV1)
indica el número de línea en el que comienza el pulso de sincronización vertical.
El tercer campo (SV2) especifica el número de línea en el que finaliza el pulso
de sincronización vertical. El cuarto campo contiene la longitud total de
imagen vertical (LIV).
Ejemplo:
#Nombremodo reloj ajuste horizontales ajustes verticales
"752x564" 40 752 784 944 1088 564 567 569 611
44.5 752 792 976 1240 564 567 570 600
(Nota: X11R5 no da soporte a frecuencias de reloj fraccionales)
Para Xconfig, todos los números recién mencionados - el número de puntos
iluminados en cada línea, el número de puntos que separan los puntos iluminados
del comienzo del pulso de sincronización, el número de puntos que representa la
duración del pulso, y el número de puntos tras el final del pulso de sincronización -
se van incrementando para producir el número de puntos por línea. El número
de puntos horizontales debe ser siempre divisible entre ocho.
Ejemplo de números horizontales: 800 864 1024 1088
Esta línea de ejemplo tiene el número de puntos iluminados (800) seguido por el
número de punto en el que comienza el pulso de sincronización (864), seguido por
el número de punto en el que termina (1024), seguido por el número del último
punto de la línea horizontal (1088).
Fíjese de nuevo en que todos los números horizontales (800, 864, 1024 y 1088) son
divisibles entre 8. Esto no es requerido por los números verticales.
El número de líneas desde la parte superior de la pantalla hasta la inferior forma
la imagen. La señal de tiempo básica para una imagen es la línea. Una imagen
estará formada por un número de líneas. Después de que la última línea iluminada
se haya mostrado, se produce un retardo de un número de líneas antes de que se
genere un pulso vertical de sincronización. Entonces el pulso de sincronización
durará unas pocas líneas, y finalmente se generará el retardo requerido tras el
pulso: las últimas líneas de la imagen. Los números que especifican este modo
de funcionamiento se introducen de una manera similar a la del siguiente ejemplo.
Ejemlo de números verticales: 600 603 609 630
Este ejemplo indica que hay 600 líneas visibles en la pantalla, que el pulso
vertical de sincronización comienza en la línea número 603 y acaba en la 609, y
que se utiliza un total de 630 líneas.
Fíjese en que los números verticales no tienen por qué ser divisibles entre 8.
Volvamos al ejemplo con el que hemos estado trabajando. Según se ha mencionado
arriba, todo lo que tenemos que hacer de ahora en adelante es escribir nuestros
resultados en Xconfig tal y como aquí se expone:
FRTV RH SH1 SH2 LIH RV SV1 SV2 LIV
donde CH1 es la señal de comienzo del pulso de sincronización horizontal y SH2
la señal de su finalización; de manera similar, SV1 es la línea de comienzo
del pulso de sincronización vertical y SV2 la línea de su finalización.
#Nombre modo reloj ajuste horizontales ajustes verticales opciones
936x702 65 936 968 1200 1232 702 702 710 737
No se necesita ninguna opción especial; este es un modo no entrelazado. Ahora
se puede decir que hemos acabado.
Forzando su monitor.
Usted no debería intentar sobrepasar las tasas de barrido de su monitor
si es uno de tipo frecuencias fijas. Puede realmente fundir su hardware si lo
intenta. Hay algunos problemas sutiles acerca de forzar un monitor multifrecuencia
de los que debería ser consciente.
Tener un reloj de pixel mayor que el ancho de banda máximo del monitor es bastante
inocuo. (Nota: el límite teórico se alcanza cuando el reloj de píxel es el
doble del ancho de banda. Esta es una aplicación directa del teorema de Nyquist:
considere los píxeles como series distribuidas espacialmente de la unidad de
señales y sabrá por qué).
Lo problemático es sobrepasar las frecuencias máximas de sincronización.
Algunos monitores modernos pueden tener circuitería de protección que
apaga el monitor bajo tasas peligrosas, pero no tenga fe en ello. En
particular existen viejos monitores multifrecuencia (como el Multisync II)
que utilizan sólo un transformador horizontal. Estos monitores no opondrán
mucha resistencia ante una frecuencia de sincronización excesiva. Aunque
su monitor tenga circuitería de regulación de alto voltaje (que puede no
encontrarse en monitores de frecuencia fija), ésta puede no cubrir todos los
rangos de frecuencia concebibles, lo cual es normal en modelos baratos.
Esto no sólo implica mayor carga en la circuitería, sino que también puede causar
que el fósforo de la pantalla envejezca antes, y puede hacer que el monitor emita
más radiación de la especificada (incluyendo rayos X).
Otra importancia del ancho de banda es que la impedancia de entrada
del monitor está especificada sólo para ese rango, y utilizar otras
frecuencias de reloj puede causar reflejos de onda, lo que probablemente
cause pequeñas interferencias en la pantalla y ruidos en las ondas de
radio.
Sin embargo, el problema básico de magnitud en cuestión es la tasa de giro
(la pendiente de las señales de vídeo) de las tarjetas gráficas, y que
normalmente es independiente de la frecuencia real de pixel, pero que
está relacionada (si el fabricante cuida de esos problemas) con la frecuencia
máxima de pixel de la tarjeta.
Por lo tanto, tenga cuidado...
Utilizando modos entrelazados.
(Esta sección se debe a la colaboración de David Kastrup
).
A una frecuencia fija de pixel, una pantalla entrelazada va a tener
considerablemente menos parpaedo que una pantalla no entrelazada, si
la circuitería vertical de su monitor es capaz de dar soporte a ese
modo de manera estable. Es a causa de que estos modos entrelazados se
inventaron en primer lugar.
Los modos entrelazados alcanzaron su mala reputación debido a que son
inferiores que los modos no entrelazados a la misma frecuencia vertical
FSV (que es la dada normalmente en los anuncios). Pero son definitivamente
superiores a la misma frecuencia de barrido horizontal, y ahí es donde
radican los límites decisivos de su monitor/tarjeta gráfica.
A una tasa de refresco fija (o a media tasa de imagen, o FSV)
la visualización entrelazada parpadeará más: una representación
entrelazada a 90Hz será inferior a otra representación no entrelazada
a 90Hz. Sin embargo, sólo necesitará la mitad de ancho de banda de
video y la mitad de frecuencia de sincronización horizontal. Si
se compara con un modo no entrelazado que tenga la misma frecuencia
de píxel y las mismas tasas de barrido, será muy superior: no entrelazado
a 45Hz es intolerable. He trabajado durante años con mi
Multisync 3D (a 1024x768) con modo entrelazado a 90Hz y estoy muy
satisfecho. Y creo que necesitaría al menos una representación a
70Hz no entrelazada para conseguir un índice de comodidad similar.
Sin embargo, debe vigilar algunos puntos: utilice modos entrelazados
sólo con altas resoluciones, de modo que las líneas iluminadas
alternativamente estén cercanas unas de otras. Puede desear jugar
con las anchuras y posiciones de los pulsos de sincronización
para conseguir las posiciones de línea más estables. Si hay líneas
alternadas brillantes y oscuras, el entrelazado hará que
salten unas en otras. Poseo una aplicación que escoge un
fondo de ese tipo para los menús (XCept) (afortunadamente ninguna
otra aplicación que conozca hace lo mismo). Cambio a 800x600 para
utilizar XCept porque sí termina haciendo daño a los ojos.
Por la misma razón, utilice al menos fuentes 100dpi, u otras fuentes
en las que los trazos horizontales sean, al menos, de dos puntos de
ancho (de todos modos, son las únicas que pueden escogerse para altas
resoluciones de manera sensata).
Y por supuesto, nunca utilice un modo entrelazado cuando su hardware
podría dar soporte a un modo no entrelazado con la misma tasa de
refresco.
Si, sin embargo, encuentra que para alguna resolución usted
está llevando tanto al monitor como a la tarjeta de video a sus
límites más altos, y consiguiendo una visión con un parpadeo
insatisfactorio o borroso (ancho de banda excedido), puede intentar
utilizar la misma resolución con un modo entrelazado. Por supuesto
esto no es aplicable si la FSV de su monitor está ya cerca de sus
límites.
Diseñar modos entrelazados es fácil: hágalo como un modo no
entrelazado. Sólo deben hacerse dos consideraciones: usted
necesita un número total impar de líneas verticales (el último
número en la línea de modo), y después de especificar la opción
"interlace", la FSV real de su monitor se duplica. Su monitor necesita
ser capaz de proporcionar una tasa de 90Hz si el modo especificado, ignorando
la etiqueta "Interlace", fuera de 45Hz.
Como ejemplo, aquí está mi línea de modo para 1024x768 entrelazado:
mi Multisync 3D es capaz de llegar a 90Hz vertical y 38KHz horizontal.
ModeLine "1024x768" 45 1024 1048 1208 1248 768 768 776 807 Interlace
Ambos límites están rozándose en este modo. Especificar el mismo modo,
pero sin la etiqueta "Interlace", todavía está casi al límite de la
capacidad horizontal del monitor (y hablando estrictamente, un poco
por debajo del límite mínimo de tasa vertical), pero produce un
parpadeo de imagen insoportable.
Reglas básicas de diseño: si tiene diseñado un modo con menos de la
mitad de la capacidad vertical de su monitor, haga impar el número total
de líneas y añada la opción "Interlace". La calidad de imagen se verá
completamente mejorada en la mayor parte de los casos.
Si tiene un modo no entrelazado que casi agota las especificaciones de
su monitor en el que la FSV está un 30% o más por debajo del máximo de
su monitor, el diseñar un modo entrelazado (posiblemente con una
resolución algo mayor) podría conseguir resultados superiores, pero
no puedo prometerlo.
Preguntas y Respuestas.
P. El ejemplo que se da en este documento no es un tamaño de
pantalla estándar. ¿Puedo utilizarlo?.
R. ¿Por qué no?. No hay NINGUNA razón por la que usted deba utilizar 640x480,
800x600, o incluso 1024x768. Los servidores XFree86 le permiten configurar su
hardware con total libertad. Suele llevar dos o tres intentos el conseguir la
configuración correcta. A lo que se debe intentar llegar es a una alta tasa
de refresco con un área de visión razonable, no a una alta resolución bajo el
precio de un parpadeo que ponga los ojos rojos.
P. ¿Es esta la única resolución dadas la frecuencia de píxel de 65MHz y
la FSH de 55KHz?.
R. ¡Claro que no!. Desde aquí animo a seguir el método general y realizar algo
de ensayo-error para llegar a una configuración que sea realmente de su agrado.
Experimentar con esto puede dar mucha diversión. La mayor parte de las configuraciones
sólo dan una modesta configuración de video, pero en la práctica un monitor multifrecuencia
moderno no puede dañarse fácilmente. Asegúrese, sin embargo, de que su monitor puede
dar soporte a las tasas de imagen de su modo antes de utilizarlo durante largos
periodos de tiempo.
Cuidado con los monitores de frecuencia fija. Este tipo de trasteo puede
dañarlos de manera rápida. Asegúrese de que utiliza tasas de refresco válidas
para cada experimento que realice.
P. Ha mencionado sólo dos resoluciones estándar. En Xconfig, hay muchas
resoluciones estándar disponibles. ¿Puede decirme si hay algún truco para
apañar configuraciones?.
R. ¡Claro!. Tome, por ejemplo, el "estándar" 640x480 listado en el
Xconfig. Utiliza una frecuencia de píxel de 25Mhz, una LIH de 800 y una LIV
de 525, por lo que la tasa de refresco ronda los 59,5Hz. No está mal. Pero
28Mhz es una frecuencia de píxel que suele estar disponible para muchas
tarjetas SVGA. Si la utilizamos para llevar un 640x480, siguiendo el
procedimiento comentado más arriba, llegaríamos a longitudes de imagen de
812 (redondeado a 808) y 505. Ahora la tasa de refresco ha aumentado hasta
68Hz, una mejora importante sobre el modo estándar.
P. ¿Puede resumir lo que ha comentado hasta ahora?.
R. En pocas palabras:
-
para cualquier frecuencia de píxel fija, aumentar la resolución máxima
disminuye la tasa de refresco y esto introduce más parpadeo.
-
si desea mayor resolución y su monitor es capaz de mostrarla, intente
conseguir una tarjeta SVGA que proporcione una frecuencia de píxel (FRTV)
concordante. Cuanto más alta sea, mejor.
Arreglando problemas con la imagen.
Bien. Ya tiene sus números para la configuración de X. Los pone
en Xconfig con una etiqueta de modo de prueba. Arranca X, cambia
al nuevo modo, ... y la imagen no se muestra correctamente. ¿Qué
hacer?. Esta es una lista de las distorsiones de imagen
más comunes y de cómo arreglarlas.
(Es solucionando estas distorsiones menores donde xvidtune (1)
brilla realmente.)
La imagen se mueve cambiando la configuración de pulso de
sincronización. Se escala cambiando la longitud de imagen
(necesita mover el pulso de sincronización para mantenerla en la
misma posición relativa, si no escala la imagen la moverá también).
Aquí hay algunas recetas más específicas:
Las posiciones horizontal y vertical son independientes. Esto es: mover la
imagen horizontalmente no afecta a su colocación vertical, ni vicerversa.
Sin embargo, esto no se aplica a la escala. Si cambia el tamaño horizontal
y no hace nada al vertical, o viceversa, el cambio total en ambos puede estar
limitado. En particular, si su imagen es muy grande en ambas dimensiones
probablemente tenga que ir a una frecuencia de píxel mayor para solucionarlo.
Como esto incrementa la resolución utilizable, rara vez llega a ser un problema.
La imagen está desplazada a la izquierda o a la derecha.
Para arreglarlo, mueva el pulso de sincronización horizontal. Esto es: incremente
o disminuya (en múltiplos de 9) los dos números centrales de la sección horizontal
que definen el comienzo y final del pulso de sincronización horizontal.
Si la imagen está situada a la izquierda, y quiere moverla hacia la derecha,
disminuya los números. Si es al revés, incremente el pulso de sincronización.
La imagen está desplazada hacia arriba o hacia abajo.
Para solucionar esto, mueva el pulso de sincronización vertical. Esto es,
incremente o reduzca los dos números centrales de la sección vertical de su
línea de modo que definen el comienzo y el final del pulso de sincronización
vertical.
Si la imagen está arriba (el borde inferior es muy grande, desea mover la
imagen hacia abajo) reduzca los números. Si la imagen se encuentra muy
abajo (el borde superior es muy grande, y desea mover la imagen hacia arriba)
aumente los números.
La imagen es muy grande tanto vertical como horizontalmente.
Cambie a una velocidad de píxel superior. Si tiene varias frecuencias
en su fichero de modos, puede que se esté activando una velocidad más
baja por error.
La imagen es muy ancha (o muy estrecha) horizontalmente.
Para solucionar esto, incremente (disminuya) la longitud de imagen horizontal. Esto
es, cambie el cuarto número en la primera sección de la línea de modos. Para
evitar mover la imagen, también mueva el pulso de sincronización (segundo y
tercer números) la mitad de lo que ha cambiado la longitud de imagen, para
mantenerlo en la misma posición relativa.
La imagen es muy alta (o muy estrecha) verticalmente.
Para solucionar esto, incremente (disminuya) la longitud de imagen vertical. Esto
es, cambie el cuarto número en la segunda sección de la línea de modos. Para
evitar mover la imagen, también mueva el pulso de sincronización (segundo y
tercer números) la mitad de lo que ha cambiado la longitud de imagen, para
mantenerlo en la misma posición relativa.
Cualquier distorsión que no pueda ser atajada combinando estas técnicas es,
probablemente, signo de que algo más básico ha ido mal, como un error de
cálculo o una velocidad de píxel mayor de la que el monitor puede manejar.
Finalmente, recuerde que incrementar cualquier longitud de imagen
disminuirá la tasa de refresco, y al revés.
Representando gráficamente las capacidades del monitor.
Para dibujar el diagrama de un modo del monitor, usted necesitará el paquete
gnuplot (un lenguaje de representación gráfica gratuito para sistemas operativos
UNIX) y la herramienta modeplot , un script para gnuplot que representa
gráficamente el diagrama de las características de su monitor, introducidas
como opciones en línea de comandos.
Esta es una copia de modeplot :
#!/bin/sh
#
# modeplot -- genera un gráfico en modo X de los modos de monitor disponibles
#
# Utilice `modeplot -?' para ver las opciones de control.
#
# ($Id: video-modes.sgml,v 1.5 1998/02/21 02:23:11 esr Exp $)
# Descripción del monitor. Ancho de banda en MHz, frecuencias horizontales en KHz
# y verticales en Hz.
TITLE="Viewsonic 21PS"
BANDWIDTH=185
MINHSF=31
MAXHSF=85
MINVSF=50
MAXVSF=160
ASPECT="4/3"
vesa=72.5 # Mínima velocidad de refresco recomendada por 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 <" nombre del monitor por defecto: "Viewsonic 21PS"
-b ancho de banda en MHz por defecto: 185
-h FSH mín y máx (KHz) por defecto: 31 85
-v FSV mín y máx (Hz) por defecto: 50 160
-a razón ancho/alto por defecto: 4/3
-g "" opciones para gnuplot
Las opciones -b, -h y -v son obligatorias, -a, -t, -g son opcionales.
Uste puede utilizar -g para redireccionar la salida de gnuplot para que
el gráfico de modo se imprima en su impresora. Vea gnuplot(1) para más
detalles.
La utilidad modeplot fue creada por Eric S. Raymond basada
en el análisis y código de Martin Lottermoser .
La traducción de esta utilidad al castellano fue realizada por
David Marín Carreño .
Esta es la $Revision: 1.5 $ de modeplot.
EOF
exit;;
esac
shift
done
gnuplot $GNUOPTS <
Una vez que sepa que tiene modeplot y el paquete gnuplot
en su máquina, necesitará saber las siguientes características
del monitor:
- ancho de banda de vídeo (AB);
- rango de frecuencias de sincronización horizontal (FSH);
- rango de frecuencias de sincronización vertical (FSV).
El programa de dibujo necesitará asumir algunos datos que no tienen
por qué ser correctos. Este es el porqué de que el gráfico resultante
es sólo una descripción grosso modo. Estos datos asumidos son:
- Todas las resoluciones tienen una razón de aspecto fija RA = RH/RV.
Las resoluciones estándar tienen RA = 4/3 o RA = 5/4. El programa
modeplot asume 4/3 por defecto, pero usted puede hacer que ésto
no sea así.
- Para los modos considerados, las longitudes de imagen horizontales
y verticales son múltiplos fijos de las resoluciones horizontal y vertical,
respectivamente:
LIH = F1 * RH
LIV = F2 * RV
A ojo de buen cubero, tome F1 = 1,30 y F2 = 1,05 (vea [
"Calculando tamaños de imagen").
Ahora tome una frecuencia de sincronización particular, FSH. Asumiendo
los datos que hemos expuesto, cada valor de frecuencia de píxel FRTV
ya determina la tasa de refresco TR, esto es: para cada valor de FSH hay
una función TR(FRTV). Esta función está definida así:
La tasa de refresco es igual a la velocidad de píxel dividida por el
producto de los tamaños de imagen:
]
TR = FRTV / (LIH * LIV) (*)
Por otra parte, la longitud de imagen horizontal es igual a la velocidad
de píxel dividida por la frecuencia horizontal de sincronización:
LIH = FRTV / FSH (**)
LIV puede hallarse a partir de LIH con los datos asumidos:
LIV = F2 * RV
= F2 * (RH / RA)
= (F2/F1) * LIH / RA (***)
Sustituyendo (**) y (***) en (*) obtenemos:
TR = FRTV / ((F2/F1) * LIH^2 / RA)
= (F1/F2) * RA * FRTV * (FSH/FRTV)^2
= (F1/F2) * RA * FSH^2 / FRTV
Para unas FSH, F1, F2 y RA fijas, esta es una hipérbola en nuestro gráfico.
Dibujando sendas curvas para los valores mínimo y máximo de la frecuencia
de sincronización horizontal, hemos obtenido los dos bordes restantes de
la región permitida.
Las líneas rectas que cruzan la región hábil representan resoluciones
particulares. Esto está basado en (*) y en lo segundo que hemos
asumido:
TR = FRTV / (LIH * LIV) = FRTV / (F1 * RH * F2 * RV)
Dibujando esas líneas para todas las resolucines en las que se
está interesado, se puede averiguar cuáles son las relaciones
posibles entre resolución, frecuencia de píxel y tasa de refresco
de las que el monitor es capaz, pero ello depende de la segunda
ecuación asumida.
La herramienta modeplot le proporciona de una manera fácil
de hacer esto. Teclee modeplot -? para ver las opciones de
control. Una orden típica tendría este aspecto:
modeplot -t "Swan SW617" -b 85 -v 50 90 -h 31 58
La opción -b especifica el ancho de banda de vídeo; -v y -h establecen
los rangos de frecuencia vertical y horizontal.
Cuando lea la salida de modeplot , siempre recuerde que sólo da
una descripción aproximada. Por ejemplo, no tiene en cuenta las
limitaciones de LIH resultantes de una anchura mínima requerida para
el pulso de sincronización, y solo puede ser preciso hasta donde llegan
las condiciones asumidas. Por lo tanto, no es en absoluto un sustituto
para unos cálculos detallados (que requieren algo de "magia oscura")
tal y como se han desarrollado en [.
Sin embargo, podría mostrarle de manera más intuitiva qué es posible y
qué factores se involucran.
]Créditos.
La versión ancestral de este documento fue realizada por Chin Fang
<fangchin@leland.stanford.edu>.
Eric S. Raymond <esr@snark.thyrsus.com> rehizo, reorganizó y
reescribió masivamente el original de Chin Fang en un intento de
entenderlo. En el proceso, él introdujo la mayor parte de un documento
Cómo distinto, realizado por Bob Crosson <crosson@cam.nist.gov>.
El material acerca de los modos entrelazados está realizado en su
mayor parte por David Kastrup <dak@pool.informatik.rwth-aachen.de>
Martin Lottermoser <Martin.Lottermoser@mch.sni.de> contribuyó
con la idea de utilizar gnuplot para realizar diagramas de modo e hizo
el análisis matemático tras modeplot . El modeplot
distribuido fue rediseñado y generalizado por ESR a partir del código
original realizado por Martin para un sólo caso.
Traducción.
Este documento fue traducido al castellano por David Marín Carreño
como un grano de arena más en el proyecto LuCAS/INSFLUG.
He traducido lo más fielmente que he podido el original. Si descubre algún
error en mi traducción, por favor, envíeme un mensaje para corregirlo en
próximas revisiones.
Si desea plantear alguna duda, sugerencia o crítica, no dude en contactar conmigo.
Disfrute de Linux y de la vida.
| | | _| David Marín Carreño
\ | / /
|/____\| /////
/_|_/\_|_\ __/////
\| (__) |/ |_ _/
/ \____/ \ / /
(____ ____) / / WEb SITe:
_____||________/ / http://www.bigfoot.com/~davefx
/ _ _____/
Anexo: Grupos LiNUXeros en España.
Francisco José Montilla, , FidoNet 2:345/402.22 es
coordinador del , etc.
, 2:341/43.40 , disponibles
próximamente en los formatos habituales de documentación ( , FidoNet 2:345/402.22
- Juan José Amor,
, FidoNet 2:341/12.19
- Alfonso Belloso,
, FidoNet 2:344/17.2
Por último, recordar que un inmejorable lugar para estar informado, así
como consultar y discutir todo lo relacionado con LiNUX lo tiene en
FidoNet, en
- LuCas:
lucas@bipv02.bi.ehu.es
- INSFLUG:
insflug.org
Ambas son listas tipo majordomo; para suscribirse:
envíe un email a , con " , con " en sus versiones
html Actualización lenta , y listas para
bajar, en
Este es el lugar actualizado
con más frecuencia; en Sunsite y sus
De todos modos, probablemente con su distribución de Linux vengan
incluidos.
Otro buen punto de búsqueda, consulta, y obtención de la documentación
traducida, en formato HTML, con links a los demás formatos, así como las
traducciones de las guías traducidas por LuCAS es:
Tanto el INSFLUG, como LuCAS, y todos los traductores implicados,
esperamos que esta traducción le haya sido de utilidad.