Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2010, 13:45   #1
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию Мерцание изображений при перерисовке формы.(Delphi)

Я сделал небольшое приложение (чего не скажешь по размеру) и решил довести до ума. В нем панорама на 1,25 Мб, которую можно просмотреть, вращая мышкой (стандартно: зажимаем кнопку и ведем). Вот тут и возникает проблема. Когда изображение двигается, очень сильно видна перерисовка, хотя мне этого не надо. Можно как-то убрать это мерцание? Слышал, что для этого OpenGL надо. Я прикрепил архив с приложением.
Вложения
Тип файла: rar Ponarams.rar (1.78 Мб, 67 просмотров)

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Старый 19.09.2010, 13:47   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

двойную буферизацию пробывали?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.09.2010, 14:34   #3
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
двойную буферизацию пробывали?
Это как? Я еще не очень в delphi, Но усердно пытаюсь стать профессионалом
14:35
Это как бы два изображения показывать? Пока одно перерисовывается показывается второе? Если можете, объясните пожалуйста.

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог

Последний раз редактировалось _PROGRAMM_; 19.09.2010 в 14:37.
_PROGRAMM_ вне форума Ответить с цитированием
Старый 19.09.2010, 20:38   #4
_PROGRAMM_
Участник клуба
 
Аватар для _PROGRAMM_
 
Регистрация: 30.07.2009
Сообщений: 1,601
По умолчанию

Цитата:
двойную буферизацию пробовали?
Вот погуглил нашел информацию и сделал.
В OnCreate прописал DoubleBuffered:=True и помогло. Но это я долго искал, а до этого пытался сохранять картинку в буфер, потом Image1.Picture присваивал nil, выполнял перемещение и вставлял картинку
Код:
Image1.Picture.Assign(Clipboard);
Картинка перерисовывалось очень долго, так долго, что без моих изобретений было лучше. Я это запомню надолго. В общем, напишу решение еще раз
Код:
procedure TFormPub.FormCreate(Sender: TObject);
begin
Form1.DoubleBuffered:=True;
end;
Спасибо

В мире нет вечных двигателей, зато есть вечные тормоза...

Блог
_PROGRAMM_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мерцание модального окна при щелчке на родительское Vadik(R) Общие вопросы Delphi 11 14.10.2009 19:37
Нужна помощь при перерисовке в Image dimon4il Помощь студентам 7 03.05.2009 16:29
Мерцание окна при изменении размера zaqer Win Api 2 30.07.2008 23:39
Мерцание при перерисовки компонента Altera Компоненты Delphi 2 25.03.2008 11:35
При движении картинки происходит мерцание... Teen4jump Gamedev - cоздание игр: Unity, OpenGL, DirectX 14 11.07.2007 01:43