URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4554
[ Назад ]

Исходное сообщение
"XWindow и vsync/hsync "

Отправлено kas1e , 10-Авг-05 19:58 
Есть ли в XWindow функции/флаги для сихронизации с обратным ходом луча ? Имеется ввиду без GL и привязки к конкретным картам. Желательно in/out тоже не юзать, чтобы было полностью системно так сказать. Чтонибудь типа XVSync() быть может или чтото такого плана ?

Содержание

Сообщения в этом обсуждении
"XWindow и vsync/hsync "
Отправлено DeadMustdie , 10-Авг-05 21:20 
>Есть ли в XWindow функции/флаги для сихронизации с обратным ходом луча ?
>Имеется ввиду без GL и привязки к конкретным картам. Желательно in/out
>тоже не юзать, чтобы было полностью системно так сказать. Чтонибудь типа
>XVSync() быть может или чтото такого плана ?

Без привязки к картам точно не получится, так как сам "ход луча"
есть совершенно необязательное для видеокарты свойство. :)

Я не великий дока в X-Window, но подобные функции мне на глаза не
попадались. IMHO если чего и найдётся, то сильно специфическое для
конкретного X-сервера, а то и конкретного драйвера видюка.


"XWindow и vsync/hsync "
Отправлено kas1e , 10-Авг-05 21:42 
>Без привязки к картам точно не получится, так как сам "ход луча"
>есть совершенно необязательное для видеокарты свойство. :)
>
>Я не великий дока в X-Window, но подобные функции мне на глаза
>не попадались. IMHO если чего и найдётся, то сильно специфическое для
>конкретного X-сервера, а то и конкретного драйвера видюка.

Моя задача в общем такова. Я делаю окно в иксах, и в нем скролирую текст. Скролинг делаю таким образом - затираю все, что было черным и вывожу сдвинутый на строку или как бы там еще не было текст. Отсуда кошмарное мигание. Прямо таки злобное. Решил что избавиться от него можно старым досовским приемом с vblank. Но возможно есть еще какойто вариант ? Быть может если както по другому делать очистку экрана , то такого сильного мигания не будет ?


"XWindow и vsync/hsync "
Отправлено DeadMustdie , 10-Авг-05 21:59 
>Моя задача в общем такова. Я делаю окно в иксах, и в
>нем скролирую текст. Скролинг делаю таким образом - затираю все, что
>было черным и вывожу сдвинутый на строку или как бы там
>еще не было текст. Отсуда кошмарное мигание. Прямо таки злобное. Решил
>что избавиться от него можно старым досовским приемом с vblank. Но
>возможно есть еще какойто вариант ? Быть может если както по
>другому делать очистку экрана , то такого сильного мигания не будет
>?

Штатный способ - с промежуточным буфером, в который выполняется вывод.
Затем рисуем картинку на экран. Прокрутку вообще давненько уже делают
так: читают кусок картинки, которая не изменится, выводят его в нужном
месте, а затем дорисовывают недостающее. Часто оба приёма комбинируют.
Примера под руками нету, а написать его сходу мне слабо.


"XWindow и vsync/hsync "
Отправлено kas1e , 10-Авг-05 22:06 
>Штатный способ - с промежуточным буфером, в который выполняется вывод.
>Затем рисуем картинку на экран. Прокрутку вообще давненько уже делают
>так: читают кусок картинки, которая не изменится, выводят его в нужном
>месте, а затем дорисовывают недостающее. Часто оба приёма комбинируют.
>Примера под руками нету, а написать его сходу мне слабо.

Т.е. double buffering в помощь ? Вообще у меня имеется ввиду скрол именно текста. Тоесть есть скажем текст какогото размера, я его открываю, показываю часть (начало), и дальше кнопками up/down его скролирую. Вот и как бы именно это реализовать без миганий.


"XWindow и vsync/hsync "
Отправлено DeadMustdie , 10-Авг-05 22:15 
>Т.е. double buffering в помощь ?

Exactly.

>Вообще у меня имеется ввиду скрол именно текста. Тоесть есть
>скажем текст какогото размера, я его открываю, показываю часть
>(начало), и дальше кнопками up/down его скролирую. Вот и
>как бы именно это реализовать без миганий.

Говорю же: примера под руками нету, а писать с нуля я такой пример
буду не один час, поскольку под X-ы писал мало и давно, и имена
функций/структур/полей не помню, а в доку лазить - долго.


"XWindow и vsync/hsync "
Отправлено klalafuda , 11-Авг-05 11:11 
>Моя задача в общем такова. Я делаю окно в иксах, и в
>нем скролирую текст. Скролинг делаю таким образом - затираю все, что
>было черным и вывожу сдвинутый на строку или как бы там
>еще не было текст. Отсуда кошмарное мигание. Прямо таки злобное. Решил
>что избавиться от него можно старым досовским приемом с vblank. Но
>возможно есть еще какойто вариант ? Быть может если както по
>другому делать очистку экрана , то такого сильного мигания не будет
>?

возьмите исходники любого терминала и посмотрите, как это делают белые люди.

// wbr