Страница 1 из 2

Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 05 ноя 2022, 11:15
Dekris13
Доброго дня!
Может кто сталкивался с такой проблемой.
Сделал игру на андроид в Unity версия 2021 года, при создании app bondle для гуг плей выбрал две галочки для архитектуры 32 и 64 бит. Загрузил. В аккаунте разработчика видно, что набор содержит оба варианта архитектуры.
При скачивании для тестирования у меня на телефон (Honor50 Lite и Sumsung А32) игра запускается, но через короткое время начинает глючить и становится неиграбельной. Как будто скачивает 64 битную версию игры, вместо 32 битной.

Когда инсталлирую 32 битную игру из apk - все ок, при скачивании - глючит, как-будто скачивает 64 битную версию.

Почему такое может происходить?

Может есть какие-то настройки для установления приоритета архитектуры?

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 09 ноя 2022, 19:43
1max1
Оба твои телефона это armv8 (64 bit), как ты понял что ты ставишь именно 32 версию игры на свой телефон, ты делал отдельный билд без галочки на armv8? Подключи профайлер от юнити и смотри что именно там лагает, гадать не лучшая идея.

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 10 ноя 2022, 12:06
Dekris13
В том то и дело. Изначально я делал apk файлы с галочкой по умолчанию на 32 бит. Все работало ок. При выкладке на гугл плей необходимо было сделать на 64 бит. Сделал с 2-мя галочками, и на 32 и на 64 одновременно.
Стало глючить.
Потом сделал отдельно на 32, отдельно на 64.
На 32 опять все ок, на 64 - глючит.
При компиляции на ПК все работает замечательно, никаких проблем.

Проблемы только при установке игры версии на 64 бит на телефон.
Как подключить профайлер к телефону не знаю. Как быть?

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 10 ноя 2022, 14:26
Alkos26Rus
Dekris13 писал(а):Как подключить профайлер к телефону не знаю. Как быть?

USB шнур, Development Build, Autoconnect Profiler, Build And Run

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 11 ноя 2022, 21:25
Dekris13
Попытался, получил такую ошибку:

UnityException: No Android devices connected
Make sure your device is plugged in.
If you are sure that the device is attached then it might be USB driver issue, for details please check 'Android environment setup' section in Unity manual.
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)


Телефон подключен через USВ. На компе его вижу. Подскажите, что делать?

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 11 ноя 2022, 21:57
1max1
Говорит драйвера нет, попробуй подключить телефон и этой программой установить дрова.
https://drive.google.com/file/d/1J4KB38 ... sp=sharing

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 11 ноя 2022, 21:57
Alkos26Rus
Dekris13 писал(а):Попытался, получил такую ошибку:

UnityException: No Android devices connected
Make sure your device is plugged in.
If you are sure that the device is attached then it might be USB driver issue, for details please check 'Android environment setup' section in Unity manual.
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)


Телефон подключен через USВ. На компе его вижу. Подскажите, что делать?

Наскока помню, нужно в телефоне поставить режим разработчика и установить usb драйвер(модель телефона) на пк. Это именно для usb отладки. Можно еще через сеть вайфай, там все проще будет, тока в профилеровщике будет много шума связанного с пингом

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 12 ноя 2022, 21:19
Dekris13
Итак. Что показал профайлер.
Основное увеличение нагрузки во время глюков происходит в
FixedUpdate.PhysicsFixedUpdate
Physics.SyncColliderTransform

При этом к обоим этим параметрам пишет:
до начала лагов :
"Current frame accumulated time:
14 ms for 2 instances on thread 'Main Thread's"

После начала лагов течении нескольких кадров получаем
"Current frame accumulated time:
340.79ms for 17 instances on thread 'Main Thread's"

Т.е. идет увеличение экземпляров в главном потоке. Что это может значить и где искать решение?

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 12 ноя 2022, 22:18
Dekris13
Как посмотреть, что вызывает увеличение вызовов этих функций. Они не относятся к скриптам. Находятся в разделе Other раздела CPU профайлера.

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 12 ноя 2022, 22:24
Alkos26Rus
Dekris13 писал(а):Как посмотреть, что вызывает увеличение вызовов этих функций. Они не относятся к скриптам. Находятся в разделе Other раздела CPU профайлера.

Ты через шнур или через вайфай делаешь?

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 13 ноя 2022, 02:38
1max1
Возможно на сцене овердохрена коллайдеров, которые не помечены как кинематик/динамик, но ты их двигаешь и из-за этого вся физика постоянно пересчитывается.

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 13 ноя 2022, 11:18
Dekris13
Alkos26Rus писал(а):
Dekris13 писал(а):Как посмотреть, что вызывает увеличение вызовов этих функций. Они не относятся к скриптам. Находятся в разделе Other раздела CPU профайлера.

Ты через шнур или через вайфай делаешь?


Через Шнур.

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 13 ноя 2022, 11:24
Dekris13
1max1 писал(а):Возможно на сцене овердохрена коллайдеров, которые не помечены как кинематик/динамик, но ты их двигаешь и из-за этого вся физика постоянно пересчитывается.


На сцене одновременно штук +-350 коллайдеров.
Вопрос в другом. На архитектуре 32 бит ничего не происходит. На 64 - можно несколько раундов играть и ничего, потом, за несколько кадров количество запросов увеличивается в разы.
Это не зависит количества коллайдеров, бывает и в начале раунда начинает глючить, когда объектов мало.

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 13 ноя 2022, 12:01
Dekris13
Что еще заметил.
Если делаем иерархию кадра то получаем, до глюков
FixedUpdate.PhysicsFixedUpdate -
Physics.SyncColliderTransform
LogStringToConsole
один -два вызова за кадр.

Во время глюков:
FixedUpdate.PhysicsFixedUpdate - 17 вызовов в кадр
Physics.SyncColliderTransform - 17 вызовов в кадр
LogStringToConsole - 2688 вызовов в кадр.
т.е. получается при нормальной работе FixedUpdate.PhysicsFixedUpdate, Physics.SyncColliderTransform, LogStringToConsole вызывается одинаковое количество раз.
Во время глюка LogStringToConsole - огромное количество вызовов. При этом функция LogStringToConsole занимает почти все время выполнения двух вышестоящих функций.

У кого какие мысли?

Re: Проблемы с архитектурой игры и Гугл Плей.

СообщениеДобавлено: 13 ноя 2022, 12:32
Alkos26Rus
Dekris13 писал(а):получается при нормальной работе FixedUpdate.PhysicsFixedUpdate, Physics.SyncColliderTransform, LogStringToConsole вызывается одинаковое количество раз.
Во время глюка LogStringToConsole - огромное количество вызовов

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

Dekris13 писал(а):При этом функция LogStringToConsole занимает почти все время выполнения двух вышестоящих функций

У тебя наверно лог в консоль спамит

Dekris13 писал(а):Через Шнур.

Проверь лучше, потому как если телефон в одной сети вайфай то он будет давать статистику через вайфай, отключи интернет на телефоне