![]() |
Быстрая отрисовка
Здраствуйте знатоки.
Столкнулся с такой проблемой... строю график функии пошагово. При прорисовке все дело притормаживает... особенно, если графиков функций строится очень много. Как это избежать? Код:
// построение графика |
тоже была такая проблема - Спасибо Silin'у. В твоем примере все линии храняться как объекты и каждый раз перересовываются. Можешь сделать так:
Код:
// построение графика |
Использовав ваш способ, Rzer, скорость прорисовки увеличилась буквально в 1.1 раз... возможно я много хочу от свего приложения. Для улучшения скорости мне пришлось увеличить шаг до 0.5 , а перелом графиков на различных участках избегать с помощью curveTo()... но... прорисовка стала не столь быстрой, как бы хотелось (
Хотя... Rzer... а не могли вы более подробно описать отображение того битмана, в котором прорисовывается график. (возможно я сделал что то не правильно - передавая в функцию resultBitmap = Clip.Bitmap) |
У вас туча вызовов неких методов X, Y, Calculator и прочих вещей, жрущих процессорное время на раз. Это кусок кода надо переписывать совсем, а не допиливать рашпилем.
|
Ок. Как мне быть в таком случае???!!!
По заданному мат. выражению строится график функции. Не использовать: 1) X(), Y() - преобразование координат из декартовой в экранную плоскость; 2) Calculator() - высчитывание разобранное выражение (обратная польская запись) ...я не могу. Как мне быть в таком случае?! Урезать свою программу в возможностях? Подскажите... что может ускорить все это хозяйство? |
А экранные координаты с каких пор недекартовые?
|
В методах X, Y идет отображения декартовой системы координат на экранную систему координат. На сколько мне известно... )))) экранные координаты всегда > 0 ;)
|
Ради простого добавления константы писать целую функцию и вызывать её неразумно.
|
Все таки... эт не так существенно. (тем более, что там не констатна - координаты х, у - постоянно пересчитываются в этих методах). Все таки хотелось бы услышать что нить более существенное в помощь при прорисовке.
|
Цитата:
Да и отрисовывать с точностью до одной сотой пикселя смысла никакого. |
| Часовой пояс GMT +4, время: 01:11. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.