Есть ли в XWindow функции/флаги для сихронизации с обратным ходом луча ? Имеется ввиду без GL и привязки к конкретным картам. Желательно in/out тоже не юзать, чтобы было полностью системно так сказать. Чтонибудь типа XVSync() быть может или чтото такого плана ?
>Есть ли в XWindow функции/флаги для сихронизации с обратным ходом луча ?
>Имеется ввиду без GL и привязки к конкретным картам. Желательно in/out
>тоже не юзать, чтобы было полностью системно так сказать. Чтонибудь типа
>XVSync() быть может или чтото такого плана ?Без привязки к картам точно не получится, так как сам "ход луча"
есть совершенно необязательное для видеокарты свойство. :)Я не великий дока в X-Window, но подобные функции мне на глаза не
попадались. IMHO если чего и найдётся, то сильно специфическое для
конкретного X-сервера, а то и конкретного драйвера видюка.
>Без привязки к картам точно не получится, так как сам "ход луча"
>есть совершенно необязательное для видеокарты свойство. :)
>
>Я не великий дока в X-Window, но подобные функции мне на глаза
>не попадались. IMHO если чего и найдётся, то сильно специфическое для
>конкретного X-сервера, а то и конкретного драйвера видюка.Моя задача в общем такова. Я делаю окно в иксах, и в нем скролирую текст. Скролинг делаю таким образом - затираю все, что было черным и вывожу сдвинутый на строку или как бы там еще не было текст. Отсуда кошмарное мигание. Прямо таки злобное. Решил что избавиться от него можно старым досовским приемом с vblank. Но возможно есть еще какойто вариант ? Быть может если както по другому делать очистку экрана , то такого сильного мигания не будет ?
>Моя задача в общем такова. Я делаю окно в иксах, и в
>нем скролирую текст. Скролинг делаю таким образом - затираю все, что
>было черным и вывожу сдвинутый на строку или как бы там
>еще не было текст. Отсуда кошмарное мигание. Прямо таки злобное. Решил
>что избавиться от него можно старым досовским приемом с vblank. Но
>возможно есть еще какойто вариант ? Быть может если както по
>другому делать очистку экрана , то такого сильного мигания не будет
>?Штатный способ - с промежуточным буфером, в который выполняется вывод.
Затем рисуем картинку на экран. Прокрутку вообще давненько уже делают
так: читают кусок картинки, которая не изменится, выводят его в нужном
месте, а затем дорисовывают недостающее. Часто оба приёма комбинируют.
Примера под руками нету, а написать его сходу мне слабо.
>Штатный способ - с промежуточным буфером, в который выполняется вывод.
>Затем рисуем картинку на экран. Прокрутку вообще давненько уже делают
>так: читают кусок картинки, которая не изменится, выводят его в нужном
>месте, а затем дорисовывают недостающее. Часто оба приёма комбинируют.
>Примера под руками нету, а написать его сходу мне слабо.Т.е. double buffering в помощь ? Вообще у меня имеется ввиду скрол именно текста. Тоесть есть скажем текст какогото размера, я его открываю, показываю часть (начало), и дальше кнопками up/down его скролирую. Вот и как бы именно это реализовать без миганий.
>Т.е. double buffering в помощь ?Exactly.
>Вообще у меня имеется ввиду скрол именно текста. Тоесть есть
>скажем текст какогото размера, я его открываю, показываю часть
>(начало), и дальше кнопками up/down его скролирую. Вот и
>как бы именно это реализовать без миганий.Говорю же: примера под руками нету, а писать с нуля я такой пример
буду не один час, поскольку под X-ы писал мало и давно, и имена
функций/структур/полей не помню, а в доку лазить - долго.
>Моя задача в общем такова. Я делаю окно в иксах, и в
>нем скролирую текст. Скролинг делаю таким образом - затираю все, что
>было черным и вывожу сдвинутый на строку или как бы там
>еще не было текст. Отсуда кошмарное мигание. Прямо таки злобное. Решил
>что избавиться от него можно старым досовским приемом с vblank. Но
>возможно есть еще какойто вариант ? Быть может если както по
>другому делать очистку экрана , то такого сильного мигания не будет
>?возьмите исходники любого терминала и посмотрите, как это делают белые люди.
// wbr