Открыть главное меню

Изменения

Двойная буферизация

1258 байт добавлено, 07:08, 12 июня 2010
Нет описания правки
== Применение ==
Перед началом вывода графики необходимо чтобы у нас был [[AHI#Контекст устройства|контекст устройства]] ('''dCtx'''), на которое будем выводить графику и две [[AHI#Поверхности|поверхности]] - экранная поверхность ('''sDisp''') и внеэкранная поверхность ('''sDraw'''). Если у нас их нет - смотрим [[AHI#Инициализация|здесь]] как их получить. Как только их получилиполучены поверхности, мы сохраняем их в дополнительные переменные '''sRealDisp''' и '''sRealDraw''', т.к. они нам ещё понадобятся.
Итак, графика инициализирована. Можем приступать к работе.
AHISURFACE_T tSurface;
// Установка экранной поверхности
AhiDispSurfSet(dCtx, sDraw, 0);
// Установка поверхности для рисования
AhiDrawSurfDstSet(dCtx, sDisp, 0);
// Установка экранной поверхности
AhiDispSurfSet(dCtx, sDraw, 0);
// Изображение получено на экране
sDraw = tSurface;
</pre>
 
Далее повторяем все действия с первого пункта, пока необходимо выводить графику
</li>
<li>'''Возвращаем значения sDisp и sDraw'''<br>Перед выходом из эльфа '''ОБЯЗАТЕЛЬНО''' необходимо вернуть их значения, которые были выданы телефоном. Т.к. не известно, в какой из двух переменных ('''sDisp''' или '''sDraw''') находится реальная экранная поверхность, мы воспользуемся переменными '''sRealDisp''' и '''sRealDraw''', о которых говорилось в самом начале.<pre>/ol/ Установка экранной поверхностиAhiDispSurfSet(dCtx, sRealDisp, 0);// Установка поверхности для рисованияAhiDrawSurfDstSet(dCtx, sRealDraw, 0);</pre>
И только тогда выходим из эльфа.
</li>
</ol>
== См. также ==
* [[AHI]] - драйвер для чипов ATI
* [[LdrDisplayCbkReg]] - функция для создания callback'ов для рисования поверх [[UIS]]
* [[LdrDisplayCbkUnReg]] - функция для удаления callback'ов, созданных с помощью [[LdrDisplayCbkReg]]
* [[Предотвращение мерцания]] - Классический метод предотвращения мерцания при выводе графики
На данный момент статья ещё не написана до конца. Если вам необходим пример предотвращения мерцания при выводе графики на дисплей, вы можете перейти по этой ссылке: [[Предотвращение мерцанияКатегория:Эльфостроение]]
46
правок