Кажется submitqueue с разных потоков будет исполняться последовательно. Выглядит как будто логичнее создать буфера команд в разных потоках а засабмитить в одном
да. Кажется логичнее. Меньше сущностей. Синхронизации всё равно меньше не будет от этого. Но в случае параллельного сабмита рендеринга разных тайлов в разные очереди, если их command buffer-ы готовы в разное время, то не будет простоя GPU как раз на разницу во времени формирования "самого быстрого" command buffer-а и самого медленного, из тех, что стартовали формироваться одновременно.
если есть жирные тайлы и лёгкие, то смысл есть, мне кажется. Лучше сделать сначала с одной очередью, а затем, когда будет статистика времён формирования command buffer-ов разных тайлов, то только тогда решать стоит ли делать множество очередей.
Ну конкретно в моем кейсе разные тайлы имеют небольшой набор программ, который кажется логичнее исполнить так: программа1 тайл1 то что к программе1 ... тайлн то что к программе1 программа2 ...