Android-приложения в Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Alex2013
долгожитель
Сообщения: 3321
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

На Snapdragon-е (Quest-3s) красивее .
Изображение
https://youtu.be/hdOmqhATKIY
(Это уже тест на реальном устройстве под управлением ОС Андроид )
Неплохо, но скорость все равно не очень радует, так что нужно будет пробовать сделать "OpenGL версию".
Seenkao
энтузиаст
Сообщения: 585
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

Alex2013 писал(а): 03.07.2026 05:02:17 Исправленные версии процедур и функций ...
можешь дальше исправлять и получить выхлоп в этих местах в два а то и более раза.
Почитать можешь здесь, при чём всю тему. Полезное пишут.
Alex2013
долгожитель
Сообщения: 3321
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

Seenkao писал(а): 05.07.2026 14:41:49
Alex2013 писал(а): 03.07.2026 05:02:17 Исправленные версии процедур и функций ...
можешь дальше исправлять и получить выхлоп в этих местах в два а то и более раза.
Почитать можешь здесь, при чём всю тему. Полезное пишут.
1. Разумеется, я прекрасно понимаю, что причина выравнивания в оптимизации, но текущий код я пока вообще не оптимизировал (возможно, об этом позаботились его изначальные авторы (основу брал в примере из Hiasm, хотя, возможно, что это была далеко не первая его реализация), но сейчас я особо снова в этот код не вникал), к тому же вычисления с плавающей точкой требуют оптимизаций, отличных от целочисленных ухищрений.
2. Основной текущей задачей было, наоборот, избавиться от оптимизации и, получив чистый массив данных, загрузить его как шаблон «фоновой текстуры» в как бы по идее универсальный «волновой процессор».
3. Немного сомневаюсь, что в случае зоопарка реализаций ARM-платформ в принципе возможна стабильная «железячная оптимизация».
Зы.
За ссылку, разумеется, спасибо! Начал читать (с ходу такой объем информации не переварить, но попробую разобраться). :idea:
Зы. Зы.
Цель текущего проекта — самостоятельно воспроизвести на мобильной платформе что-то, что значительно отличается от стандартных примеров, и то, что может стать для меня неким «розеттским камнем» в деле переноса наработок из «мира виндовс» в «мир мобильных платформ».
(Вначале думал просто переписать, например, какой-нибудь «Терис с Дельфи» (или, например, всё тот же многострадальный «Дум»), но быстро понял, переписать что-то подобное будет, с одной стороны, черезчур простой задачей, а с другой — есть шанс погрязнуть в тонкостях реализации конкретной игры, не имеющих отношения к освоению программирования под андроид.) Так что пока как-то так.

Следующий этап развития проекта — в использовании «живого фона», получаемого с камеры мобильного устройства.

Зы Зы Зы
Как в LAMW правильно собирать "релизный APK" ?( все скрипты из примеров перепробовал работает только сборка "дебаг" версий APK, а они одна сплошная "дыра в системе" (требуют всех разрешений ОС держат открытыми проты отладки и т.п. )
Seenkao
энтузиаст
Сообщения: 585
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

Tools -> [LAMW] Android Module Wizard -> Build Released Signed...

А вообще, создавая новый проект, он вроде без отладки идёт.
Alex2013
долгожитель
Сообщения: 3321
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

Seenkao писал(а): 05.07.2026 21:02:10 Tools -> [LAMW] Android Module Wizard -> Build Released Signed...

А вообще, создавая новый проект, он вроде без отладки идёт.
У меня работает только laz4android 2.0.12...
...создавая новый проект, он вроде без отладки идёт.
Идет то может быть без отладки но apk собирает только такие...
ХХХХХ-debug.apk и ХХХХХ-debug-unaligned.apk
Tools -> [LAMW] Android Module Wizard -> Build Released Signed...
Упс! Действительно есть такое. Спасибо! Попробую
Изображение
Seenkao
энтузиаст
Сообщения: 585
Зарегистрирован: 01.04.2020 02:37:12
Контактная информация:

Сообщение Seenkao »

Alex2013 писал(а): 05.07.2026 21:20:41 У меня работает только laz4android 2.0.12...
Я уже кидал тебе ссылку. Дополнительно в файле androidwidget найди строчку (функцию) procedure TAndroidWidget.SetBounds(NewLeft, NewTop, NewWidth, NewHeight: integer); и замени её код:

Код: Выделить всё

procedure TAndroidWidget.SetBounds(NewLeft, NewTop, NewWidth, NewHeight: integer);
begin
     // 18/06/2026: Lazarus 4.x up bug fix
	 // In Lazarus 4.0 and above, if we add a component by double clicking, 
	 // it doesn't appear because it has a width=0, height=0 size.	 
     if (csDesigning in ComponentState) then
     begin
          if NewWidth=0 then NewWidth:=100;
          if NewHeight=0 then NewHeight:=40;
     end; 
  if (Left=NewLeft) and (Top=NewTop) and (Width=NewWidth) and (Height=NewHeight) then Exit;
  FLeft:=NewLeft;
  FTop:=NewTop;
  FWidth:=NewWidth;
  FHeight:=NewHeight;
  if (csDesigning in ComponentState) then
    if Assigned(Parent) then
      Parent.Invalidate
end;
Alex2013
долгожитель
Сообщения: 3321
Зарегистрирован: 03.04.2013 11:59:44

Сообщение Alex2013 »

Seenkao писал(а): 05.07.2026 21:32:02 Я уже кидал тебе ссылку. Дополнительно в файле androidwidget найди строчку (функцию) procedure TAndroidWidget.SetBounds(NewLeft, NewTop, NewWidth, NewHeight: integer); и замени её код:
Спасибо я попробовал но что-то у меня пошло сильно не так пошло ( пришлось открывается к архивной копии впрочем возможно это жара так повлияла ( пару раз успел заметить заметил что монитор ресурсов показывал резкий разгон и скачек температуры встроенной видеокарты (читай ядра CPU) выше 100 градусов после чего система разумеется моментально влетала в перегрузку ( похоже эмулятор кривой))
Ответить