Перейти к содержанию

zloid

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

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

  • Посещение

Информация о zloid

  • Звание
    Новичок

Посетители профиля

427 просмотров профиля
  1. procedure TfMain.Timer1Timer(Sender: TObject); begin if not(m.State in [TMediaState.Unavailable, TMediaState.Stopped]) then exit; m.CurrentTime := 0; m.filename :=GetNextSoundFile; m.Volume := 1; m.Play; end; Такой код работает под Android. Под виндой не работает. Также, если выводить в лог Memo1.Lines.Add(m.Duration.ToString); Memo1.Lines.Add(m.CurrentTime.ToString); То что под Андроидом, что под виндой, значения нулевые. То есть на них опираться нельзя. Помогите, как под виндой убедиться, что файл отыграл?
  2. Хорошо, спишу всё на высокие требования Delphi+FMX и слабость планшета, хотя всякие игрушки на нём идут, а там не просто четыре квадратика выводятся. Спасибо всем за ответы.
  3. Нет, ONDA Vi40 ARM Cortex-A8, Allwinner A10 1GHz Если Ваш ответ к моему примечанию о том, что я скидываю галку, то я обновил своё сообщение. С галочкой всё проседает точно так же.
  4. Ваш код на моём планшете (ONDA, разрешение 1024x768) не дал прироста в скорости, элементы всё так же впадают в транс. Хотел уж было подвести печальный итог, что FMX тормозит на разрешениях выше 360х615, как в Вашем видео, но Обнадёжило, у MediaPad разрешение ещё выше. Может быть у меня просто слабый планшет.
  5. Чтобы было понятнее о каких лагах речь, создал мини-приложение, на форме которого всего четыре TText, они движутся по кругу (квадрату, конечно). Код привожу в конце под спойлером. https://www.youtube.com/watch?v=UQSS-BeXSAA На этом видео я последовательно снимаю работу приложения в Windows, в симуляторе IOS и на Android-планшете. В первых двух случаях элементы движутся плавно, а на планшете заметны регулярные рывки. На Android-телефоне, кстати, всё работает плавно (снять не могу, но поверьте на слово).
  6. На форме таймер лежит с Interval=60 (пробовал разные значения), который делает так: Self.BeginUpdate; Тут я перебираю все TText'ы, которые хранятся в TList и изменяю плавно их координаты Self.EndUpdate; Пробовал вместо таймера приделывать к ним компонент TFloatAnimation - не быстрее. Ну и про Canvas тоже рассказывал. В таймере говорил PaintBox.Repaint; А в методе Draw() у ПаинтБокса делал так: Canvas.BeginScene; Отрисовываю в цикле все тексты при помощи FillText Canvas.EndScene; Спасибо. Не знал о таком. Нашёл то же самое в справке: http://docwiki.embarcadero.com/RADStudio/XE6/en/Overriding_OpenGL_Rendering_Parameters Но не помогло. TText'ы ведут себя всё так же - иногда подлагивают. В Вашем случае добавление RenderingSetupCallback само по себе лекарство, или Вы как-то по-другому выводите графику на экран? Тоже пользуетесь FMX-компонентами или "рендерите" графику на канву?
  7. Здравствуйте. Пишу приложение на Delphi XE8. Суть его в том, чтобы показывать на экране некие данные, присылаемые по сети. Данные очень простые: короткие тексты разных цветов в разных частях экрана. При этом эти тексты должны иногда перемещаться туда-сюда. Этакий информер. Я использовал компонент TText для вывода. Больше на форме ничего нет, только с десяток этих TText'ов, которые в основном ничего не делают, но по команде перемещаются. Приложение простое и прекрасно работает. Нет, не прекрасно: если в windows всё плавно, на android-телефоне плавно, то на Android-планшете заметны неприятные подтормаживания: элементы двгаются с заметными рывками, иногда случается общий лаг на долю секунды. Пробовал вместо TText'ов кинуть на форму TPaintBox и выводить на Canvas тексты вручную. Не заметил прироста скорости. Помогите. ) Подскажите метод, которым на Android можно быстро выводить простую графику. Желательно пример исходного кода, чтобы я сразу его запустил и сказал "ага, действительно плавно", а там уж я адаптирую свой проект. Просто обидно: всё работает - база, сервер, логика на клиенте, но вот показать пользователю симпатично не выходит, сразу бросается в глаза, что приложение "тормозит". Спасибо.
×
×
  • Создать...