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

POV

Пользователи
  • Постов

    307
  • Зарегистрирован

  • Посещение

  • Победитель дней

    5

Сообщения, опубликованные POV

  1. Ну вот и отрисуй график. Данные любые, хоть синус. И замерь частоту перерисовки.

    А насчет TChart - зря ты, что он медленный. Если добавляешь более 1 точки, делай BegineUpdate и затем EndUpdate. Так же отключи ненужности (контура, подложку, прозрачности и заливки и т.п.)

  2. И всё же таймер должен идти лесом. Отчего не сделать поток?

    procedure TMyThread.Execute;
    begin
      while not Terminated do begin
        try
          if (not IdTCPClient1.Connected) then begin
            IdTCPClient1.Connect;
          end;
        except
          Sleep(500);
          continue;
        end;
    
    
    // а тут если коннект есть уже выгребаем что и как надо
    
    ...
    
    

    А запросы серверу из главного потока. Функции запроса можно также в классе потока реализовать для нахождения этого тисипишного функционала в одном месте

      TMyThread = class(TThread)
      private
      protected
        procedure Execute; override;
      public
        IdTCPClient1: TIdTCPClient;
        function SendPacket(ip: String): Boolean;  // это вызываем из главного потока если надо на сервер что-то послать
        constructor Create(host: String; port: Integer; toconnect: Integer; toread: Integer);
        destructor Destory;
      end;

     

  3. Дополнение небольшое..

    Камеру втыкаю во фронтальные USB, там же подключен и переходник USB-RS232. И вот если COM-порт просто открыть какой-то сторонней прогой, то всё, частота кадров драматически падает. Если камеру воткнуть в задний разъем - 30 fps.

    Но ведь куча библиотек под VCL прекрасно себе ведёт даже на фронтальном разъёме!

  4. Ну как бы то ни было, продолжил работу с этим кодом. И вот что странное вышло - на пустом проекте fps было до 30 (типично 24), а по мере его наполнения камера начала вести себя не предсказуемо.

    То 1 fps, то 5, то 10.. иногда 20 покажет (но ооочень редко), а бывает что за секунду ни одного кадра не может выдать. Открываю исходный пустой проект - там 30 fps.

    Никаких потоков и таймеров нет. Диспетчер задач показывает, что хорошо если 1% проца занято. Что за чудеса?

     

  5. Всем компонентам свойство ALign назначил как Scale. При старте приложения разворачиваю его на весь экран.. и это-то отрабатывается. Но изначально всякие гадости на экране вокруг объектов (см. рисунок). Повторно форму показываю - всё нормализуется. Как бы сразу все так перерисовать чтобы не было косяков?

     

    121.jpg

×
×
  • Создать...