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

Оптимизация Photon Cloud

СообщениеДобавлено: 20 янв 2015, 22:56
DualPain
Всем привет. Проблема следующая, при подключении нового игрока остальные игроки испытывают фриз, причина тому DispatchingIcomingComands. Посоветуйте, как это можно устранить? Ну и вообще, где бы можно было почитать что-то типа Photon Cloud Best Practices или просто дельные советы по оптимизации.
Изображение

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 21 янв 2015, 15:27
gnoblin
а код покажешь?

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 21 янв 2015, 15:55
DualPain
gnoblin писал(а):а код покажешь?

код чего именно? как видно из профайлера нагрузка идет на фотоновские методы

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 21 янв 2015, 21:25
gnoblin
ну ты пример какой-то тестишь или свой код писал?

много ж зависит от того что как ты шлешь.

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 22 янв 2015, 14:52
DualPain
gnoblin писал(а):ну ты пример какой-то тестишь или свой код писал?

много ж зависит от того что как ты шлешь.

фриз случается именно в момент конекта игрока к комнате, метода OnPlayerConnect нет, ничего вообще не должно происходить в этот момент, опять же, профайлер показывает внутренние фотоновские методы, а не мои кастомные

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 22 янв 2015, 18:37
gnoblin
профайлер тебе не все показывает. сцена сложная? если да, поможет фикс от Mikhail с оптимизацией SendMonoMessage

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 22 янв 2015, 18:46
gnoblin
Старое обсуждение на эту тему: http://www.unity3d.ru/distribution/view ... ge#p135064

последний раз - я просто сделал глобальный List<PhotonView> и дописал в PhotonView.cs добавление фотовью в старте в этот список - и удаление из списка в OnDestroy(). Если сцена с большим количеством обьектов - это должно помочь с тормозами.

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 22 янв 2015, 19:32
DualPain
gnoblin писал(а):профайлер тебе не все показывает. сцена сложная? если да, поможет фикс от Mikhail с оптимизацией SendMonoMessage

сцена достаточно сложная, есть одна особенность, чем больше игроков на карте, тем больше лаг при конекте еще одного

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 22 янв 2015, 19:41
DualPain
gnoblin писал(а):Старое обсуждение на эту тему: http://www.unity3d.ru/distribution/view ... ge#p135064

последний раз - я просто сделал глобальный List<PhotonView> и дописал в PhotonView.cs добавление фотовью в старте в этот список - и удаление из списка в OnDestroy(). Если сцена с большим количеством обьектов - это должно помочь с тормозами.

прочитал тему, все понял, я видел что там шлется всем моно скриптам, но думал что это дает не столь сильные тормоза.
Тогда у меня есть такой вопрос, не исправлено ли это в более новых версиях фотона и имеет ли смысл его обновлять? Сейчас мы используем версию 1,2, а последняя версия фотона 1,5

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 22 янв 2015, 23:02
gnoblin
я периодически обновляюсь и переношу этот фикс, по какой-то причине я так понял в стандартной поставке фотонклауда это не фиксили.

в последней версии они сделали ownership transfer - это очень круто

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 23 янв 2015, 07:32
djon801
DualPain писал(а):
gnoblin писал(а):Старое обсуждение на эту тему: http://www.unity3d.ru/distribution/view ... ge#p135064

последний раз - я просто сделал глобальный List<PhotonView> и дописал в PhotonView.cs добавление фотовью в старте в этот список - и удаление из списка в OnDestroy(). Если сцена с большим количеством обьектов - это должно помочь с тормозами.

прочитал тему, все понял, я видел что там шлется всем моно скриптам, но думал что это дает не столь сильные тормоза.
Тогда у меня есть такой вопрос, не исправлено ли это в более новых версиях фотона и имеет ли смысл его обновлять? Сейчас мы используем версию 1,2, а последняя версия фотона 1,5



в новом фотоне очень много всяких вкусностей намутили.но проэкт со старым фотономо придется немного перепилиь,там не значительно

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 23 янв 2015, 07:35
djon801
не большой копипаст с сайта devby.ru :)

Список изменений:

Обновлено: Минимальная версия юнити Unity 4.3.4. Связано с поддержкой 2D и Mecanim.

Добавлено: Поддержка Mecanim! Новый компонент «PhotonAnimatorView» который умеет синхронизировать состояния аниматора.

Добавлено: PhotonTransformView, PhotonRigidbodyView, PhotonRigidbody2DView. Каждый из этих компонентов имеет ряд настроек для сглаживания передвижения. Реализация открыта и можно смело изменять:)

Добавлено: Новые демо: Mecanim, RpgMovement и 2D Jump and Run.

Добавлено: Новая возможность: Ownership Transfer(передача прав владения(знаю, криво звучит, но смысл именно в этом:))).

Добавлено: PhotonView.RequestOwnership() и .TransferOwnership(). Для каждого PhotonView вы можете указать, может ли этим объектом управлять только создатель или можно менять владельца объекта. Устанавливается опция с помощью поля OwnershipOption в окне инспектора.

Добавлено: Интерфейсы IPunObservable и IPunCallbacks для более удобной реализации фотоновских событий(наконец-то!).

Добавлено: Класс Photon.PunBehaviour который реализует интерфейс IPunCallbacks.

Изменено: Компонент PhotonView теперь содержит список объектов для сетевых операций. Можно, к примеру, разделить сетевую логику на несколько скриптов и добавить их в один список.

Полный список на английском — тут

Сейчас вышло еще два обновления(1.50.1 и 1.50.2). Они несут в себе фиксы и несколько незначительных изменений + в версии 1.50.2 добавлена возможность посылать зашифрованный RPC(PhotonView.RpcSecure()).

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 23 янв 2015, 12:02
DualPain
Всем спасибо. Фотон пока обновлять не будем, но фикс оптимизации используем обязательно

Re: Оптимизация Photon Cloud

СообщениеДобавлено: 27 янв 2015, 21:18
lol
Блин синхронизация аниматора - крутяк. Если хорошо работает.