Добавлен Joma
Почему такие функции как DisplayTextToPlayer или BJDebugMsg лагают при долгом использовании?
Осторожно при открытии карты. Мой старый ноут начал сильно фризить после 20 секунд уже.
Осторожно при открытии карты. Мой старый ноут начал сильно фризить после 20 секунд уже.
Что на карте?
globals
integer C = 0
endglobals
function Trig_Lags_Actions takes nothing returns nothing
local integer i = 0
loop
set i = i + 1
exitwhen i > 20
set C = C + 1
//call BJDebugMsg(I2S(C))
call DisplayTextToPlayer(Player(0), 0, 0, I2S(C))
endloop
endfunction
function InitTrig_Lags takes nothing returns nothing
set gg_trg_Lags = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Lags, 0.01 )
call TriggerAddAction( gg_trg_Lags, function Trig_Lags_Actions )
endfunction
Принятый ответ
Joma, любое обновление данных на экране не бесплатное. Плюс варкрафт однопоточен, и когда ты суёшь такое количество операций с боксом сообщений, то отъедаешь ресурсы у всего остального, поэтому и фпс проседает.
`
ОЖИДАНИЕ РЕКЛАМЫ...
1
Показать
Makeba
1 мес
1
Показать
1 / 0.01 * 20 = 2000
Действительно есть необходимость выводить две тысячи сообщений в секунду?
0
Показать
Joma
1 мес
0
Показать
Makeba, Значит они где то копятся скрытно. Я не думал что такая жалкая вещь как вывод текста такая дорогая штуковина))
2
Показать
Makeba
1 мес
2
Показать
Принятый ответ
Joma, любое обновление данных на экране не бесплатное. Плюс варкрафт однопоточен, и когда ты суёшь такое количество операций с боксом сообщений, то отъедаешь ресурсы у всего остального, поэтому и фпс проседает.
1
Показать
DiZzicH
1 мес
1
Показать
Joma, Плюсом у тебя каждая уникальная строка кэшируется
Чтобы оставить комментарий, пожалуйста, войдите на сайт.

WC3




