понедельник, 1 ноября 2010 г.

Новое видео на моем youtube канале о многопоточной загрузке в Лидверксе

Нам таки удалось добиться многопоточной загрузки (скорей, псевдо-многопоточной) в Leadwerks.
Просто так грузить ассеты в паралельном потоке мешает Блитзевский сборщик ресурсов (в текущей версии 2.Х Leadwerksоснован на Blitz,  Leadwerksверсии 3.Х уже будет написан на чистых плюсах).
Пришлось выкручиваться: в паралельном потоке постоянно работает генератор требемых на подзагрузку моделей. Обычно он простаивает (когда игрок перемещается в пределах ячейки), но как только нужно дозагрузить новые модели, он шлет список моделей в основной поток. В основном потоке модели грузятся в риалтайме по несколько штук за фрейм (в зависимости от текущих ФПС: на мощных машинах дозагрузка незаметна и происходит очень быстро, на медленных - заметна, происходит довольно долго, но играть можно... хотя лучше просто постоять и подождать :) ).

За данный хак стоит благодарить Сергея Дудакова, который предложил и разработал данную идею.