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

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

Войти
Регистрация
Восстановить пароль
 
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

Кешировать отрисовку - Программирование Android

05.11.2014, 10:07. Просмотров 342. Ответов 3
Метки нет (Все метки)

Гуру, подскажите!
Отрисовываю свой копонент с нуля.
Копонент состоит из двух частей - подложки и "курсора".
Подложка обновляется всего несколько раз, а "курсор" довольно часто.
Подложка довольно "тяжелая" и хотелось бы рисовать ее не каждый раз - экономить процессор.
Как подобное можно сделать???

В делфи для этого был компонент битмап. Отрисовка шла на него, а потом одной командой битмап выводился в XY. Битмап хранился в памяти и при необходимости просто выводился не перерисовываясь. Экономия проца иногда была выше 90%.
Хотелось бы сделать нечто аналогичное...
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2014, 10:07     Кешировать отрисовку
Посмотрите здесь:

не кешировать - C# ASP.NET
Помогите добрые люди, проблема в том, что на мастер пэйджэ есть контрол, который никогда не должен кешироватся, но кешируется цэлая...

Запретить браузеру кешировать страницы - C# MVC
Здравствуйте! Собственно, сабж в заголовке: можно ли запретить браузеру кешировать любые данные из полученных страниц?

Кешировать страницы с использованием XMLHttpRequest - JavaScript
Всё находится и запускается на одном и том же домене в последних версиях основных браузеров. var xmlhttp = new XMLHttpRequest(); ...

Передать данные из контроллера на отрисовку - PHP ООП
День добрый. <?php namespace Application\Controller; use Zend\Mvc\Controller\AbstractActionController; use...

Как ускорить отрисовку изображения на PictureBox - Visual Basic .NET
Может кто знает как можно ускорить отрисовку загруженного изображения в PictureBox, (изображение довольно таки большое 1500х1500 и выше)...

Прекратить отрисовку объекта по нажатию клавиши - C++ Builder
Здравствуйте, ребят. Срочно нужна помощь. Есть бесконечный цикл рисующий квадрат и перемещающий его по оси Х. Нужно чтобы при нажатии...

.NET 4.x Как ускорить отрисовку примитивов на PictureBox'e - C#
Есть следующая проблема. По движению мыши на Bitmap'e рисую сплошную линию(с кистью в виде эллипсов). Затем переношу изображение на...

Как ускорить отрисовку контролов на форме? - C#
Програмно создаю на форме много контролов - кнопок (>200) и возникают такие проблемы: 1. Контролы появляются не все сразу, а, как бы,...

Не могу исправить отрисовку Canvas.Lineto - Delphi
Проблема заключается в том, что я никак не могу понять , по какой причине у меня идёт неправильная отрисовка... Проект мой - Метро ...

Переделать отрисовку треугольной решетки в шестиугольную - C++ Builder
Уважаемые форумчане, переделайте пожалуйста из треугольной в гексагональную решётку. structTriangle { //Двенадцать указателей на...

Стремлюсь кешировать файлы...но при этом в конфиге (моём) стоит ограничение наколичество кешируемых файлов того или иного типа. - PHP
И так господа...очередная засада... Стремлюсь кешировать файлы...но при этом в конфиге (моём) стоит ограничение наколичество...

Игра жизнь: как сделать отрисовку поколений - C# WPF
Добрый день, пытаюсь написать игру жизнь, но есть маленькая проблема с отрисовкой поколений есть метод public RenderTargetBitmap...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
name?
198 / 169 / 18
Регистрация: 01.06.2010
Сообщений: 371
Завершенные тесты: 1
05.11.2014, 15:09     Кешировать отрисовку #2
есть же invalidate(Rect rect), передаете ему как раз область которую надо перерисовать
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
05.11.2014, 22:32  [ТС]     Кешировать отрисовку #3
Цитата Сообщение от name? Посмотреть сообщение
есть же invalidate(Rect rect), передаете ему как раз область которую надо перерисовать
Это круто (спасибо не знал про параметр Rect), но мне нужно ДРУГОЕ!
Есть ПОДЛОЖКА! Она рисуется из сотни-тысячи маленьких обьектов (векторных рисунков и PNG). С полупрозрачностями, поворотами, смещениями и картниками из ресурсов.... После отрисовки она становится СТАТИЧНОЙ. Теперь надо рисовать "курсор" - практически полупрозрачную рамку поверх подложки с изменяемыми размерами. Как отрисовать "подложку" предварительно (может даже в отдельном потоке), а потом БЫСТРО выводить из заготовки? Курсор буквально бегает за пальцем, выделяя часть картинки. Подложка меняется лишь раз в несколько минут.

Добавлено через 3 минуты
Уже думал даже о методиках создания своего PNG на флешке, но видится мне это крайне кривым решением.
Хотелось бы отрисовать в ПАМЯТИ и выводить из памяти. Не до конца понимаю назначение переменной Paint во всех канвасных процедурах. Думал может быть это связано, но не знаю куда и как копать...
EVP
321 / 243 / 43
Регистрация: 14.12.2010
Сообщений: 462
06.11.2014, 21:39     Кешировать отрисовку #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Tester64 Посмотреть сообщение
В делфи для этого был компонент битмап.
Чем Андроид хуже?)

Java
1
2
3
        Bitmap.Config config = Bitmap.Config.ARGB_8888;
        Bitmap bitmap = Bitmap.createBitmap(512, 512, config);
        Canvas canvas = new Canvas(bitmap);
Yandex
Объявления
06.11.2014, 21:39     Кешировать отрисовку
Ответ Создать тему
Опции темы

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