Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
#1

Скролл без обновления канваса - Android

15.05.2013, 00:09. Просмотров 494. Ответов 7
Метки нет (Все метки)

Проблема в следующем - имеется достаточно большой канвас, на отрисовку которого уходит около 0.1 секунды. Когда этот канвас скроллится (View.scrollBy), автоматически вызывается invalidate(), из-за чего во время скролла наблюдаются подтормаживания. Возможно ли обойтись без обновления канваса?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 00:11     Скролл без обновления канваса #2
скрол = обновление канваса

Добавлено через 30 секунд
любое изменение на экране это обновление канваса, за исключением OpenGL, там другие подходы.
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
15.05.2013, 00:20  [ТС]     Скролл без обновления канваса #3
мда, придется OpenGL изучать? =))
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 00:21     Скролл без обновления канваса #4
не знаю) попробуйте оптимизировать отрисовку...
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
15.05.2013, 00:24  [ТС]     Скролл без обновления канваса #5
а что на счет SurfaceView? Облегчит ли это ситуацию, если отрисовка канваса, мягко говоря, тяжеловата?
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 00:28     Скролл без обновления канваса #6
вообще- то 0.1с не так уж много, может проблема в другом?

Цитата Сообщение от razer89 Посмотреть сообщение
а что на счет SurfaceView? Облегчит ли это ситуацию, если отрисовка канваса, мягко говоря, тяжеловата?
вообще SurfaceView эффективнее работает если нужно много динамики на экране.
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
15.05.2013, 00:36  [ТС]     Скролл без обновления канваса #7
Дело в том, что на канвасе я рисую кривую, которая достаточно долго просчитывается, когда достигает большой длины....
.....
Эммм... блин! пока писал, придумал, что можно ведь не рисовать всю кривую, а только видимую часть!!! =)) В общем, спасибо за диалог))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2013, 00:39     Скролл без обновления канваса
Еще ссылки по теме:

Android Программа вылетает после обновления на 5.0
Обновление карты из DialogFragment, без обновления активити? Android
Скролл меняет размер при скролле PreferenceScreen Android
Android Одновременный скролл нескольких ListView
Убрать скролл в ListView Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
15.05.2013, 00:39     Скролл без обновления канваса #8
Цитата Сообщение от razer89 Посмотреть сообщение
пока писал, придумал, что можно ведь не рисовать всю кривую, а только видимую часть!!!
правильная мысль!
Yandex
Объявления
15.05.2013, 00:39     Скролл без обновления канваса
Ответ Создать тему
Опции темы

Текущее время: 09:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru