Я был неправ. Там дело не в чтении данных. С чтением данных там всё хорошо и правильно. Там что-то непонятное с методом perform_scene_animation_wait.
Я не знаю, почему это работает, но в скрипте State Animations в строках 110 и 115 замените:
perform_scene_animation_wait
на:
perform_scene_animation_wait if not @animation_id.zero?
(то есть добавьте if not @animation_id.zero? два раза)
После этого у меня лишняя задержка пропала. Я не понимаю, почему это помогает, но оно вроде бы помогает. По крайней мере, у меня с такими изменения лаги пропадают.
Я так и не понял, откуда эта проблема и почему она возникает только при большом количестве состояний. Мне кажется, вы зря вините автора: баги бывают у всех, а это довольно трудновыловимый баг. Стоит сообщить автору скрипта о проблеме и возможных путях решения, чтобы другие люди в будущем не наткнулись на ту же проблему.




Ответить с цитированием

Социальные закладки