40 lines
1.8 KiB
HTML
40 lines
1.8 KiB
HTML
<html>
|
||
|
||
<head>
|
||
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||
<param name="Keyword" value="">
|
||
</object>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||
<title></title>
|
||
<link rel="StyleSheet" href="../../default.css">
|
||
</head>
|
||
|
||
<body>
|
||
<H1>Ускорение перерисовки графических объектов</H1>
|
||
<p>Для обеспечения быстрой перерисовки используется следующий прием: в начале
|
||
программы вызывается <code>LockDrawingObjects</code>, а при необходимости перерисовать
|
||
весь экран – специальная процедура <code>RedrawObjects</code>. Отключается режим вызовом <code>UnLockDrawingObjects</code>.
|
||
</p>
|
||
<p>При наличии большого количества объектов, каждый из которых движется, такой
|
||
прием может ощутимо ускорить анимацию. Причина здесь кроется в следующем: по
|
||
умолчанию при каждом движении объекта он перерисовывается в своем
|
||
прямоугольнике, при этом в этом прямоугольнике перерисовываются все объекты.
|
||
Если в графическом окне 100 объектов, и каждый из них переместился, то
|
||
происходит 100*100=10000 перерисовок объектов. После вызова <code>LockDrawingObjects</code>
|
||
перерисовки не происходит, а в результате вызова <code>RedrawObjects</code>
|
||
каждый объект прорисовывается только один раз, то есть происходит всего 100
|
||
перерисовок объектов.</p>
|
||
<p>Следует обратить внимание, что в модуле <code>GraphABC</code>
|
||
имеются родственные процедуры <code>LockDrawing</code>,
|
||
<code>UnLockDrawing</code>, и
|
||
<code>Redraw</code>. Однако, они отвечают за <i>
|
||
растровую перерисовку без мерцания</i>, в то время как процедуры <code>LockDrawingObjects</code>,
|
||
<code>UnLockDrawingObjects</code>, и <code>RedrawObjects</code>
|
||
отвечают только за <i>ускорение перерисовки векторной графики</i>
|
||
<code>ABCObjects</code> (отсутствие мерцания векторных объектов
|
||
при их изменении обеспечивается автоматически).
|
||
</p>
|
||
<p> </p>
|
||
</body>
|
||
|
||
</html> |