Стал замечать что у некоторых игроков вылетает варкрафт на полосе загрузки в моей карте
У меня и у тех с кем я обычно играю ни разу не было вылета
Смог узнать побольше инфы у одного игрока:
При первой загрузке карты у него карта догрузилась до "Ожидание игроков" и через несколько секунд просто вылетел варкрафт с сообщением вроде "Приложение перестало отвечать"
При второй загрузке было тоже самое, но уже айкап отреагировал и айкап выдал фатал (а варкрафт просто вылетел без единой ошибки)
При третьей загрузке вылет был уже прямо в самом начале полосы загрузки карты вместе с черным экраном
И повторюсь, во всех случаях варкрафт не фаталил, он либо зависал, либо вылетал без ошибок
Возможно полезная информация:
В карте ~520 trackable, около двадцати триггеров и огромная туча константных массивов (на самом деле в карте не больше 50 глобальных переменных, триггеры через локалку создаются)
Всё это создается/инициализируется в main потоке, в некоторых местах ExecuteFunc
Ещё в начале игры с 0.00 секунды инициализируется мультиборд
И ещё стоит обратить внимание на этот участок кода который вызывается в main потоке через ExecuteFunc:
У меня и у тех с кем я обычно играю ни разу не было вылета
Смог узнать побольше инфы у одного игрока:
При первой загрузке карты у него карта догрузилась до "Ожидание игроков" и через несколько секунд просто вылетел варкрафт с сообщением вроде "Приложение перестало отвечать"
При второй загрузке было тоже самое, но уже айкап отреагировал и айкап выдал фатал (а варкрафт просто вылетел без единой ошибки)
При третьей загрузке вылет был уже прямо в самом начале полосы загрузки карты вместе с черным экраном
И повторюсь, во всех случаях варкрафт не фаталил, он либо зависал, либо вылетал без ошибок
Возможно полезная информация:
В карте ~520 trackable, около двадцати триггеров и огромная туча константных массивов (на самом деле в карте не больше 50 глобальных переменных, триггеры через локалку создаются)
Всё это создается/инициализируется в main потоке, в некоторых местах ExecuteFunc
Ещё в начале игры с 0.00 секунды инициализируется мультиборд
И ещё стоит обратить внимание на этот участок кода который вызывается в main потоке через ExecuteFunc:
void Lag()
{
int i = 1
unit u = CreateUnit(Player(0), 'hfoo', 0., 0., 0.)
RemoveUnit(CreateUnit(Player(0), 'h007', 0., 0., 0.))
RemoveUnit(CreateUnit(Player(0), 'o006', 0., 0., 0.))
RemoveUnit(CreateUnit(Player(0), 'o001', 0., 0., 0.))
RemoveUnit(CreateUnit(Player(0), 'H00A', 0., 0., 0.))
whilenot( i > 41 )
{
RemoveDestructable(CreateDestructable(udg_decorationID[i], 0., 0., 0., 1., 1))
RemoveUnit(CreateUnit(Player(0), udg_units[i], 0., 0., 0.))
UnitAddAbility(u, udg_abilityQ[i])
UnitRemoveAbility(u, udg_abilityQ[i])
UnitAddAbility(u, udg_abilityW[i])
UnitRemoveAbility(u, udg_abilityW[i])
UnitAddAbility(u, udg_abilityE[i])
UnitRemoveAbility(u, udg_abilityE[i])
UnitAddAbility(u, udg_abilityR[i])
UnitRemoveAbility(u, udg_abilityR[i])
UnitAddAbility(u, udg_cardNext[i])
UnitRemoveAbility(u, udg_cardNext[i])
i++
}
RemoveUnit(u)
u = null
}
Принятый ответ
UrsaBoss:
Наверное, какая-то текстура имеет размеры не кратные степени двойки.Всё из за настройки "Качество текстур"А что делать, я не совсем понял)
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Всё из за настройки "Качество текстур"
А что делать, я не совсем понял)
Отредактирован PT153
Отредактирован 8gabriel8
удалил две текстуры, одна 1x1 и другая 70x70 - всё стало работать)))
Сейчас сделаю 2x2 и 64x64 и будет всё шикарно)