ну я допускаю. что если наделать слишком много мусора. то варик начнет тупить. иначе я просто не знаю в чем ошибка. отключал одним за другим. пока оставил только нужное. И это все равно дебаг (вывод ошибок) выдает неверные результаты (сначала выдает номер 1, то номер 2, то опять 1. как ты меняешь номер часто. почему?).
К примеру, тестовая абилка номер региона. Дебаг выводит ошибку. Создал 1-хату, и выдал номер a+1, создал вторую зату, выдал номер a+1, проверил снова хату 1, там он выдает разные цифры.
Существует ли у варика ограничения? Просто помню со строками у вара траблы. помню очень много текста выводил на экран (даже карту могу скинуть, возможно опыт можно повторить?). Обычно в начале игры юниты нормально двигаются. Но как только будешь дохрена текста выводить, то позже это выльется в не очень хорошее. Тогда у меня было бесконечное зацикливание из-за моей ошибки (сейчас проблема в прошлом).
Вот что происходило. Чем больше текста выводилось на экран. Тем сильнее тормозило игру. В конец доходило до того, камера вроде двигаешь норм. А у юнитов анимация заморожена. К примеру, раб ногами и руками подвис, словно иконка перемещалась. их анимации были заморожены. анима ходьбы модели юнитов подвисли на кадре. Очень долго мучался, думал система грешит. Яего только не перепробовал. А потом вспомнил, что близзарды на гуи сделали массив строк, и записали туда все тексты. Решил этот же способ использовать. И удивительно, что перестало мучить замороженность аним. Ушла ли проблема или нет. Просто сейчас я написал массив строк с дебаг-текстами. Есть ли какая то ошибка?
кстати журнал сообщении стоит ли чистить? есть подозрения, что именно в нем дело. Но точно не уверен.

Принятый ответ

понял что там какая то таблица, которая не дает генерировать похожие строки
Если в кратце то есть таблица строк, в которой все строки уникальны и если генерить 100500 разных строк, то она быстро засрётся. По логике вещей она должна очищаться со временем, но это варкрафт.
а нужно ли записывать все тексты в глобальный массив.
Это целиком вопрос удобства разработки. Тобишь делай как угодно.
Как это делает в гуи. Если записать текст в гуи, и создать. Потом эта строка заносится в массив
Гуи складывает всё в war3map.wts. При длительной разработке там может много хлама собраться.
но думаю можно попробовать искусственно вызвать тормоза
Можешь попробовать убрать весь текст и проверить, действительно ли в нём проблема.
NazarPunk, спасибо за отклик на глупые вопросы
Блин, забыл сказать, чё ты как нубяра на гуи пишешь, переходи на zinc/lua и будь нормальным мужиком!
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
29
3 года назад
Отредактирован nazarpunk
1
О лимитах строк можно почитать здесь. И если память не изменяет, там ещё какой-то баг, был, из-за которого строки навсегда оставались в памяти.
1
27
3 года назад
Отредактирован MpW
1
ладно прочитал. немного смутно че то понял. ну или совсем не понял. понял что там какая то таблица, которая не дает генерировать похожие строки и имеет лимит на число символов. И беспокоить об этом нет смысла, тк наверное очищает или заново перезаписывает. неизвестно. Но не понятно, точно из-за кривого английского. Но это все на уровне слухов, тк не понимаю как подтвердить информацию.
вопросы все равно остались. Что надо делать чтобы такого не было? вопрос, а нужно ли записывать все тексты в глобальный массив.
s[0] = "Привет"
s[1]= "Я крут"
понимаю это система была бы полезна для диалогов или системы подсказок. но нужно ли делать так как в гуи?
.....
Как это делает в гуи. Если записать текст в гуи, и создать. Потом эта строка заносится в массив
если конвентировать в код, то вместо текста там "TRIGSTR_122"
его можно найти в файлике. инфа тут
стоит ли так делать? вот здесь это решить. пример можно посмотреть. к сожалении копии не осталось. но думаю можно попробовать искусственно вызвать тормоза

NazarPunk, спасибо за отклик на глупые вопросы
Загруженные файлы
1
29
3 года назад
1
понял что там какая то таблица, которая не дает генерировать похожие строки
Если в кратце то есть таблица строк, в которой все строки уникальны и если генерить 100500 разных строк, то она быстро засрётся. По логике вещей она должна очищаться со временем, но это варкрафт.
а нужно ли записывать все тексты в глобальный массив.
Это целиком вопрос удобства разработки. Тобишь делай как угодно.
Как это делает в гуи. Если записать текст в гуи, и создать. Потом эта строка заносится в массив
Гуи складывает всё в war3map.wts. При длительной разработке там может много хлама собраться.
но думаю можно попробовать искусственно вызвать тормоза
Можешь попробовать убрать весь текст и проверить, действительно ли в нём проблема.
NazarPunk, спасибо за отклик на глупые вопросы
Блин, забыл сказать, чё ты как нубяра на гуи пишешь, переходи на zinc/lua и будь нормальным мужиком!
Принятый ответ
1
27
3 года назад
Отредактирован MpW
1
самый норм посмотрел у комментатора Flux. там карта. похоже действительно можно. пробовал задать в его карте слишком большие параметры. чтобы вызвать искуственно проблемы. Приводит лишь к легким подвисам камеры и возвращается в норму, удвоив привело к сильному подтормаживанию и потом игра вернуласб. Юниты заморозились, потом резко ускорилисб, и потом вернулось. А если задать огромные значение, то либо подвис игры и сворачивание игры. или фатал с недостаточной памятью

Блин, забыл сказать, чё ты как нубяра на гуи пишешь, переходи на zinc/lua и будь нормальным мужиком!
потом перейду. когда напишу на jass хоть какую то карту.

думаю на zinc еще можно попробовать

кстати, я вот пробовал одновременно несколько проверок-условии зафигарить.
На подобии
if точка принадлежит then
Принадлежит
else
Не принадлежит
endif
И они должны были вывести на экран. Но на экран, все время выводилось одно и то же, то есть ложь. Решил отделить, и оно заработало. Условия походу че-то одновременно не работали. Не знаю, подводные камни вара.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.