воскресенье, 13 октября 2013 г.

FM: Camera Test v2

Вот и у меня получилось установить Delphi XE5 и запустить из Delphi-приложение на планшете с Android’ом. Погоняв тестовые проекты, решил пересобрать свои старые из Delphi XE2…

И это тоже получилось. Не скажу, что без проблем, но получилось. Проблемы с исходным кодом в основном были из-за изменений в архитектуре FM. Но при этом, они решались довольно просто: жамкаем F1 на ошибке и смотрим, в каком юните объявлен класс или тип.

К слову сказать, не вооружённым глазом видно, что со времён первого релиза платформы в Delphi XE2, была проделана огромнейшая работа…

Ещё один момент, которым я не проникся, заключается в следующем. Если создать FireMonkey Mobile Application, то проект можно собирать и для мобильных платформ, и для десктопных. А если создать (или взять существующий) FireMonkey Desktop Application, то добавить мобильные платформы в качестве Target’а сборки не получится. Поэтому можно делать так: создаём Mobile Application и включаем в него модули из Desktop Application. После этого один проект можно собирать на все платформы, доступные в Delphi.

 

Первым делом я решил запустить проект Fire Monkey: первый кубик деревом. Под Windows он запустился довольно быстро, а под Android у меня не подхватились текстуры. Пока не разбирался почему. Если разберусь – то выложу исходник.

Второе приложение Camera Test. Тут я был приятно удивлён: запущенное приложение занимает на треть меньше оперативной памяти и в окошке 480x320 даёт прирост FPS с 60 (на Delphi XE2) до (105 на Delphi XE5). (Правда тут торопиться с выводами не стоит, возможно FPS ограничивается как-то программно.) Ещё момент: на Android’е сильно тормозил код захвата изображения с камеры и копирования его в соответствующий Image, поэтому его пришлось немного модифицировать.

Вместо скриншотов – фотографии. На планшете ASUS TF300T (Tegra 3) с разрешением экрана 1280х800 выдаёт 36 FPS:

android

 

А на Windows (Core2Duo E8400) в разрешении 1680x1050 – 30 FPS:

windows

 

Скачать: исходник (zip-архив, 897 КБ), Win32-exe (zip-архив, 2.49 МБ), Android-apk (zip-архив, 5.65 МБ).

4 коммент.:

Анонимный комментирует...

Сейчас работаю с FireMonkey в XE7.
Задача - получить видеопоток с камеры. FPS 2-3. Не пойму, что и как, третий день ищу решение - все без толку.
Вы писали, что из-за этого пришлось модернизировать код... Подскажите, куда смотерть?
PS все осложняется тем, что пишу на С++ Builder, но уже привык к примерам не Delphi...
на всякий случай почту:
dmitry1986-собака-rambler.ru (без тире).
Напишите хоть примерно куда лезть?

Николай Зверев комментирует...

Анонимный простите, но я вам не смогу помочь. Мой пример - это работа с камерой - объектом 3D-сцены (не физической камеры устройства, а виртуальной). И то там у меня не получилось получить поток - только снимок. С тех пор я с FM почти не работал.

Олег Викторович комментирует...

Здравствуйте!
Вы не разобрались с текстурами, почему не подхватились?

Николай Зверев комментирует...

Олег Викторович, я не разбирался и не планирую

Отправить комментарий

.

.