Перейти к содержанию
Fire Monkey от А до Я
  • 0

Анимированные выводит диаграмму (график)


david_yusupov

Вопрос

Анимированные выводит диаграмму (график), сейчас делаем вывод диаграммы на Image, с использованием Bitmap.Canvas. И анимированые осуществляем постоянной перерисовкой.

ЗЫ

Наблюдаеся не большое по дергивание присмешение и вызывает увелечение нагрузки на процессор.

 

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Делаю программу на подобии осциллографа, есть каретка(которое рисует график) она перемещается от 0 до Width, с шагом MIN_STEP (сейчас значение равно 1.8).

До вывода графика формируется массив значение, которые в потоке рассчитываю координаты.

После определены координаты строю график

if Assigned(Bitmap) then
begin
  Bitmap.SetSize(Round(Self.Width), Round(Self.Height));
  with Bitmap.Canvas do
  begin
    xLeft := TPathData.Create;
    xRight := TPathData.Create;
    BeginScene;
    try
       Clear(FColor);
       SetLeft(xLeft, Fleft); // Копируем массив в TPathData
       SetRight(xRight, Fright); // Копируем массив в TPathData
       Stroke.Color := FColorLine;
       Stroke.Thickness := FThickness;
       Stroke.Join := TStrokeJoin.Bevel;
       if xLeft.Count > 0 then DrawPath(xLeft, 1);
       if xRight.Count > 0 then DrawPath(xRight, 1);
    finally 
       EndScene; 
       FreeAndNil(xLeft);
       FreeAndNil(xRight);
    end;
   end;
end;

Примерно раз 25 мс.по таймеру

Ссылка на комментарий
  • 0
  • Администраторы

Я бы просто взял бы буфер с двойной шириной. При появлении новой точки просто добавлял ее, а не перерисовывал весь буфер. Затем при выводе просто сдвигал бы битмап. При таком подходе точно будет работать на много быстрее.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...