old-www/HOWTO/XFree86-Video-Timings-HOWTO/framesizes.html

203 lines
4.8 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>Computing Frame Sizes</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="X.org/XFree86 Video Timings HOWTO"
HREF="index.html"><LINK
REL="PREVIOUS"
TITLE="Memory Requirements"
HREF="sizes.html"><LINK
REL="NEXT"
TITLE="Black Magic and Sync Pulses"
HREF="magic.html"></HEAD
><BODY
CLASS="sect1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>X.org/XFree86 Video Timings HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="sizes.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
></TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="magic.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="framesizes"
></A
>10. Computing Frame Sizes</H1
><P
>Warning: this method was developed for multisync monitors. It
will probably work with fixed-frequency monitors as well, but no
guarantees!</P
><P
>Start by dividing DCF by your highest available HSF to get a horizontal
frame length.</P
><P
>For example; suppose you have a Sigma Legend SVGA with a 65MHz
dot clock, and your monitor has a 55KHz horizontal scan frequency.
The quantity (DCF / HSF) is then 1181 (65MHz = 65000KHz; 65000/55 =
1181).</P
><P
>Now for our first bit of black magic. You need to round this
figure to the nearest multiple of 8. This has to do with the VGA
hardware controller used by SVGA and S3 cards; it uses an 8-bit
register, left-shifted 3 bits, for what's really an 11-bit quantity.
Other card types such as ATI 8514/A may not have this requirement, but
we don't know and the correction can't hurt. So round the usable
horizontal frame length figure down to 1176.</P
><P
>This figure (DCF / HSF rounded to a multiple of 8) is the
minimum HFL you can use. You can get longer HFLs (and thus, possibly,
more horizontal dots on the screen) by setting the sync pulse to
produce a lower HSF. But you'll pay with a slower and more visible
flicker rate.</P
><P
>As a rule of thumb, 80% of the horizontal frame length is available for
horizontal resolution, the visible part of the horizontal scan line (this
allows, roughly, for borders and sweepback time -- that is, the time required
for the beam to move from the right screen edge to the left edge of the next
raster line). In this example, that's 940 ticks.</P
><P
>Now, to get the normal 4:3 screen aspect ratio, set your
vertical resolution to 3/4ths of the horizontal resolution you just
calculated. For this example, that's 705 ticks. To get your actual
VFL, multiply that by 1.05 to get 740 ticks.</P
><P
>The 4:3 is not technically magic; nothing prevents you from using a
different ratio if that will get the best use out of your screen real
estate. It does make figuring frame height and frame width from the
diagonal size convenient, you just multiply the diagonal by by 0.8 to
get width and 0.6 to get height.</P
><P
>So, HFL=1176 and VFL=740. Dividing 65MHz by the product of the two gives
us a nice, healthy 74.6Hz refresh rate. Excellent! Better than VESA standard!
And you got 944x705 to boot, more than the 800 by 600 you were probably
expecting. Not bad at all!</P
><P
>You can even improve the refresh rate further, to almost 76 Hz,
by using the fact that monitors can often sync horizontally at 2khz or
so higher than rated, and by lowering VFL somewhat (that is, taking
less than 75% of 940 in the example above). But before you try this
"overdriving" maneuver, if you do, make <EM
>sure</EM
> that
your monitor electron guns can sync up to 76 Hz vertical. (the
popular NEC 4D, for instance, cannot. It goes only up to 75 Hz VSF).
(See <A
HREF="overd.html"
>Overdriving Your Monitor</A
> for more
general discussion of this issue. )</P
><P
>So far, most of this is simple arithmetic and basic facts about raster
displays. Hardly any black magic at all!</P
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="sizes.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="magic.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Memory Requirements</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Black Magic and Sync Pulses</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>