Есть форма, на которой находится скроллируемая панель. На эту панель динамически добавляются много картинок (сначала добавляется просто имидж, а потом в этот имидж загружается картинка). Сама картинка добавляется непосредственно когда происходит первая отрисовка компонента имиджа на событии OnApplyStyleLookup. В итоге мы имеем что при прокрутки скрол панель лагает.
Что бы избавиться от лагания, надо все картинки добавить до начала скролла, и выполнить процедуру ApplyStyleLookup у каждого элемента на скрол панели. Эта операция выполняется довольно долго, и в случае с iOS система закрывает приложение (т.к. долго висит GUI без ответа). Избавиться от этого можно если в цикле добавления картинок сделать Application.ProcessMessages, но в этом случае время этой операции увеличивается многократно.
Собственно вопрос, как можно сделать так, чтобы добавление картинки не создавала эффект подлагивания, как такое мы можем наблюдать в нативных приложениях, когда мы прокручиваем вниз и там просто фон заставка на месте где должна быть картинка, и когда картинка подгрузится (например из инета) она плавно появляется на своем месте.
У меня реализовано примерно тоже самое, но процесс непосрественного добавления картинки в то место где она должна быть заставляет сильно дергаться скролпанель.
Вопрос
FeLDMARShaL
Есть форма, на которой находится скроллируемая панель. На эту панель динамически добавляются много картинок (сначала добавляется просто имидж, а потом в этот имидж загружается картинка). Сама картинка добавляется непосредственно когда происходит первая отрисовка компонента имиджа на событии OnApplyStyleLookup. В итоге мы имеем что при прокрутки скрол панель лагает.
Что бы избавиться от лагания, надо все картинки добавить до начала скролла, и выполнить процедуру ApplyStyleLookup у каждого элемента на скрол панели. Эта операция выполняется довольно долго, и в случае с iOS система закрывает приложение (т.к. долго висит GUI без ответа). Избавиться от этого можно если в цикле добавления картинок сделать Application.ProcessMessages, но в этом случае время этой операции увеличивается многократно.
Собственно вопрос, как можно сделать так, чтобы добавление картинки не создавала эффект подлагивания, как такое мы можем наблюдать в нативных приложениях, когда мы прокручиваем вниз и там просто фон заставка на месте где должна быть картинка, и когда картинка подгрузится (например из инета) она плавно появляется на своем месте.
У меня реализовано примерно тоже самое, но процесс непосрественного добавления картинки в то место где она должна быть заставляет сильно дергаться скролпанель.
Ссылка на комментарий
11 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.