Стал замечать что у некоторых игроков вылетает варкрафт на полосе загрузки в моей карте
У меня и у тех с кем я обычно играю ни разу не было вылета

Смог узнать побольше инфы у одного игрока:
При первой загрузке карты у него карта догрузилась до "Ожидание игроков" и через несколько секунд просто вылетел варкрафт с сообщением вроде "Приложение перестало отвечать"
При второй загрузке было тоже самое, но уже айкап отреагировал и айкап выдал фатал (а варкрафт просто вылетел без единой ошибки)
При третьей загрузке вылет был уже прямо в самом начале полосы загрузки карты вместе с черным экраном
И повторюсь, во всех случаях варкрафт не фаталил, он либо зависал, либо вылетал без ошибок

Возможно полезная информация:
В карте ~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:
Всё из за настройки "Качество текстур"
А что делать, я не совсем понял)
Наверное, какая-то текстура имеет размеры не кратные степени двойки.
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
26
Экспортируй все файлы в папку и начинай просмотр текстур
33
8gabriel8, Про степень двойки интересное заключение, а как вы дошли до этого? я никогда не слышал за такое, охотно верю, это же поможет решить многие проблемы с вылетами
26
Запамятовал уже, где-то читал, что размеры текстур должны быть степенью двойки. В свежем вопросе Obelick'а, на который выше оставил ссылку, просто решил проверить, будет ли у меня вылет, скачал его архив, увидел текстуру нестандартного размера, по привычке исправил, и всё нормально запустилось) Так с ним и открыли для себя и для вас причину многих вылетов.
18
8gabriel8, бесконечно благодарю)))
удалил две текстуры, одна 1x1 и другая 70x70 - всё стало работать)))
Сейчас сделаю 2x2 и 64x64 и будет всё шикарно)
26
Рад за тебя) Ну ты знаешь, как меня отблагодарить (плюсами)
18
8gabriel8:
Рад за тебя) Ну ты знаешь, как меня отблагодарить (плюсами)
никогда не ставил плюсы/минусы, но сейчас уже поставил)
33
Жаль, у меня ни одной текстуры не кратной 2 не нашлось =(
28
одна 1x1
Ну так-то это нулевая степень двойки.
26
Ну очень похожа на нулевую степень тройки просто)
18
Вообще-то это единица в 1 степени)))
P.S я знаю что такое нулевая степень, просто боялся что вар не схавает такую текстуру)
26
Bergi_Bear:
Жаль, у меня ни одной текстуры не кратной 2 не нашлось =(
А у тебя тоже довольно хитрая задачка, карта не работает на простом варике, но работает на таком же варике, заточенном всяким софтом под сетевую игру.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.