Функция последовательно создает несколько заданий с большим объемом текста. На моей карте при первом открытии меню происходит лаг секунд на 5, а на пустой карте лага нет. В чем может быть проблема, если лагает даже с одним заданием и минимальным количеством текста?
function Menu_F9_Init takes nothing returns nothing
    local quest q = CreateQuest()
    local string s = "text"
    call QuestSetTitle(q, "Title")
    call QuestSetDescription(q, s)
    call QuestSetIconPath(q, "ReplaceableTextures\\CommandButtons\\BTNSelectHeroOn.blp")
    call QuestSetRequired(q, false)
    call QuestSetDiscovered(q, true)
    call QuestSetCompleted(q, false)
    call FlashQuestDialogButton()
    set s = null
    set q = null
endfunction

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

Clamp, когда ты начнешь внимательно читать что я пишу!
Там грузится не то что он написал в описании задания а все строки из констант и все пути к текстурам.
Что именно грузит движок в момент открытия вкладки задания, можно прелоадом.
Вот содержимое pld файла у меня:
quest.pld
((код jass
call Preload( "war3map.w3i" )
call Preload( "war3map.wts" )
call Preload( "Maps\\Test\\WorldEditTestMap.w3x" )
call Preload( "Sound\\Interface\\GamePause.wav" )
call Preload( "Sound\\Interface\\QuestActivateWhat1.wav" )
call Preload( "UI\\Widgets\\EscMenu\\NightElf\\nightelf-options-menu-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\quest-normal-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\quest-completed-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\editbox-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\quest-failed-background.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTNSkeletonArcher.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTNSpy.blp" )
call Preload( "UI\\Widgets\\EscMenu\\NightElf\\nightelf-options-button-highlight.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTN_quq_CCCP.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTNFrostWyrm.blp" )
call Preload( "Sound\\Interface\\BigButtonClick.wav" )
call PreloadEnd( 47.8 )
))
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
0
21
7 лет назад
0
KingMaximax, не помогает
0
30
7 лет назад
0
JaBeN_Симфер, проверь наличие лага в сетевой игре.

Теория такова: при открытии меню квестов в одиночной игре происходит пауза игры, которая может и вызывать лаг. При первой паузе алгоритм хешируется и дальнейших лагов не вызывает, чем и объясняется описанное поведение. В сетевой же игре пауза, очевидно, не ставится.
3 комментария удалено
0
30
7 лет назад
0
quq_CCCP, когда ты начнёшь читать тред перед тем, как дать свой ответ, я перестану выпиливать твои посты с повторами, задолбал.
0
12
7 лет назад
Отредактирован Astra
0
Еще на форуме обсуждалось это давненько. При первом открытии осуществляется подгрузка непонятно чего, потом все это дело хешируется и больше лагов не возникает. Насколько понимаю это неизлечимо.
В сетевой тоже подвисает.
0
32
7 лет назад
0
Clamp, когда ты начнешь внимательно читать что я пишу!
Там грузится не то что он написал в описании задания а все строки из констант и все пути к текстурам.
Что именно грузит движок в момент открытия вкладки задания, можно прелоадом.
Вот содержимое pld файла у меня:
quest.pld
((код jass
call Preload( "war3map.w3i" )
call Preload( "war3map.wts" )
call Preload( "Maps\\Test\\WorldEditTestMap.w3x" )
call Preload( "Sound\\Interface\\GamePause.wav" )
call Preload( "Sound\\Interface\\QuestActivateWhat1.wav" )
call Preload( "UI\\Widgets\\EscMenu\\NightElf\\nightelf-options-menu-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\quest-normal-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\quest-completed-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\editbox-background.blp" )
call Preload( "UI\\Widgets\\EscMenu\\Human\\quest-failed-background.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTNSkeletonArcher.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTNSpy.blp" )
call Preload( "UI\\Widgets\\EscMenu\\NightElf\\nightelf-options-button-highlight.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTN_quq_CCCP.blp" )
call Preload( "ReplaceableTextures\\CommandButtons\\BTNFrostWyrm.blp" )
call Preload( "Sound\\Interface\\BigButtonClick.wav" )
call PreloadEnd( 47.8 )
))
Принятый ответ
0
21
7 лет назад
Отредактирован JaBeN_Симфер
0
В сетевой тоже лаг происходит. И лаг даже не 5 секунд длится, а 20-30. Интерфейс стандартный, изменений минимум в текстах.
0
32
7 лет назад
0
JaBeN_Симфер, а он все равно грузит текстуры и текст, весь текст из wts и w3I, а это туча текста.
Внимательно смотри что я выложил под катом, станет понятно почему такой лаг.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.