как подавить моргание?

 
0
 
Visual Basic
ava
Guest45 | 17.03.2013, 19:47
Всем доброго здравия и хорошего настроения!

Не буду длинно описывать словами - смотрите приложенный проект и видюшку.

Вопрос: как сделать, чтобы при анимации квадрат анимируемого рисунка не моргал?


ЗЫ: не обращайте внимания на шероховатость картинки. Это на скорую руку для примера.
У меня сначала был сделан массив из ста классных картинок; я собирался выбирать по индексу нужную из них - и всё, но напоролся вот на такое мерцание всего квадрата рисунка.
Подумал, что здоров массив, не успевает обновляться.  Оставил только одну и по ней стал рисовать примитивной графикой - нифига не лучше, так же точно моргает((((((

Помогите, плиз, о то никуда не годный эффект такой.

ЗЫЗЫ:
XP, ACER 1.6 ГГц.
Kommentare (5)
ava
ProgramerForever | 28.03.2013, 20:25 #
Попробуй перерисовывать картинку в таймере (40ms для 25 fps), а не по событию onChange. Тогда частота кадров будет меньше (но достаточная для плавности анимации)
ava
Guest45 | 29.03.2013, 22:44 #
Не помогло. Даже при интервале 100, когда ступенчатость движения видна уже на глаз, рисунок мерцает все равно.
ava
Guest45 | 31.03.2013, 09:48 #
Как я понимаю, это происходит в момент "очистки" рисунка.
Если только рисовать примитивную графику (дугу), то ничего не мерцает. Но тогда ее назад не получается уменьшить, ведь надо восстановить рисунок, фон. И вот тогда он моргает.

Главное, непонятно, почему мерцают углы? Они же сделаны "прозрачным" цветом, там ничего не надо ни отображать, ни обновлять...
У меня явственное ощущение, что неправильно установлены какие-то настройки, но какие именно я не могу докопаться.
Autoredraw крутил везде и во всевозможных вариантах - ничего существенно не изменилось.
ava
ZGNICO | 05.04.2013, 09:00 #
Есть одно предложение: поковыряйте в этом направлении:

Урок по VB "Как подавить мерцание"

Сомневаюсь, что можно расценивать это как полноценный совет с моей стороны, но там, на мой беглый взгляд, ошибок в работе нет (сам не компилил - случайно в этом топике оказался). 
ava
windcastle | 05.02.2015, 21:42 #
Ребята, не хочу вас огорчать, но вы вообще не в ту сторону пошли.

Посмотрел проект. Сразу заметил мерцание, и это при том, что мой компьютер не старый.

Все хорошо в этом проекте кроме одного:

Picture1.AutoRedraw=False, а должно быть True!
Registrieren Sie sich oder melden Sie sich an, um schreiben zu können.
Unternehmen des Tages
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Mitwirkende
advanced
Absenden