41 lines
2.9 KiB
HTML
41 lines
2.9 KiB
HTML
<!-- This page was created with the RAD auto-doc generator. -->
|
|
<!doctype html public "-//w3c//dtd html 3.2 final//en">
|
|
<html>
|
|
<head>
|
|
<title>Scaling</title>
|
|
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
|
|
<meta name="ms.locale" content="en-us">
|
|
<meta name="description" content="">
|
|
<meta name="ms-hkwd" content="Scaling">
|
|
<link rel="stylesheet" title="default" href="reference.css" type="text/css" media="screen">
|
|
</head>
|
|
<body topmargin="0">
|
|
<table cellspacing=0 cellpadding=0 class=bar width=100% height=25>
|
|
<tr class=bar>
|
|
<td class=bar>
|
|
<i> <a href="index.html" class=trn>Bink SDK 1.5v</a></i>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<h1>Scaling</h1>
|
|
<h4>Discussion</h4>
|
|
<p>Scaling is the act of shrinking or stretching the pixels during a blitting operation to a different output rectangle size. Scaling is usually much slower than a normal one-to-one blit which can be incredibly optimized (like the Bink software 1x blitters). It is possible to write optimized blitters for other scaling styles, but this is usually impractical and seldom necessary. Bink includes optimized blitters for 1x blitting, 2x width blitting, 2x height blitting, and 2x width and height blitting. Any other scaling type will be handled by performing a 1x copy into an off-screen buffer, and then stretching the 1x off-screen buffer onto the screen. Hardware usually optimizes integral scaling (2x width, or half-size width, or 4x width, etc), so you should try to only scale integrally when possible. If you must stretch non-integrally, the YUV hardware may or may not support it, so you may fall back to software. And even if you are lucky enough to have a video card that accelerates non-integral scaling, this is usually <b>really</b> slow - usually too slow, in fact, for video playback. So, your best option is generally to switch the video mode into a mode where you can use integral scaling and still fill most of the screen. Then you get a nice full or almost-full screen display, and you'll still keep the frame rate nice and brisk.</p>
|
|
<p>
|
|
<br>
|
|
<b>Group:</b>
|
|
<a href="Background Concepts.html">Background Concepts</a><br>
|
|
<b>Related Sections:</b>
|
|
<a href="Colorspace - RGB vs. YUV.html">Colorspace - RGB vs. YUV</a><br>
|
|
<b>Related Functions:</b>
|
|
<a href="BinkBufferOpen.html">BinkBufferOpen</a>, <a href="BinkBufferSetScale.html">BinkBufferSetScale</a>, <a href="BinkCopyToBuffer.html">BinkCopyToBuffer</a>, <a href="BinkCopyToBufferRect.html">BinkCopyToBufferRect</a><br>
|
|
<b>Related Basic Types:</b>
|
|
<a href="BINKBUFFER_OPEN_FLAGS.html">BINKBUFFER_OPEN_FLAGS</a>, <a href="BINK_COPY_FLAGS.html">BINK_COPY_FLAGS</a>, <a href="BINK_OPEN_FLAGS.html">BINK_OPEN_FLAGS</a></p>
|
|
<p align=center>
|
|
<a href="mailto:Bink1@radgametools.com">For technical support, e-mail Bink1@radgametools.com</a>
|
|
<br>
|
|
<a href="http://www.radgametools.com/bnkmain.htm?from=help1.5v">© Copyright 1994-2003 RAD Game Tools, Inc. All Rights Reserved.</a>
|
|
</p>
|
|
<br>
|
|
</body>
|
|
</html>
|