203 lines
4.8 KiB
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"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Black Magic and Sync Pulses</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |