AxMeT
> В итоге просто сделал в параллельном потоке загрузку данных с диска. Огловые
> объекты уже в рендер потоке создавал. Ещё пилить и пилить... но в целом норм,
> оставлю.
а чем такой подход плох?
MAMOHT-92
> а чем такой подход плох?
Если все правильно сделать, то будет не хуже или не сильно хуже.
Основные тормоза это загрузка текстур, при использовании GL'я только в одном потоке можно частями записывать текстуру в GL_PIXEL_UNPACK_BUFFER и потом вызвать glTexImage. Для плавности это надо растянуть на несколько кадров.
Есть такой вопрос:
Имеет ли смысл делать пространство экрана в отдельном потоке?
Причина только одна - перегруз эффектами, которые просчитываются в SS.
Odin P. Morgan
не поможет, тут может помочь opencl или compute shader
/A\
про второе "не - не слышал" можно по подробнее?
Odin P. Morgan
compute shader? его добавили в 4.3 это почти opencl, но функции такие же как в шейдерах
/A\
Всё надо покупать книжку про OpenGL 4.4
/A\
Помоги ещё понять вот что с поточностью:
если потоки во фреймворке пишутся для CPU(т.к. писалось выше GPU сама распределяет нагрузку), то значит можно использовать OpenMP для автоматизации распараллеливания потоков на CPU?
Odin P. Morgan
Что-то не пойму для чего все это нужно...
Я не видел чтоб в игровых приложениях использовали openMP, ну и я openMP ни разу не использовал.
/A\
Я понимаю, что это звучит как "я отстреливал муху из какрабина на кухне", но всё-же есть необхомисть автоматического распараллеливания задачи. (допустим рождение убивание потоков, в зависимости от нужды в них)
Тема в архиве.