Hello,We're working on a Vulkan Android game.To reduce lagging in gameplay, we create pipelines and save the pipeline cache on the first launch.The problem is the createGraphicsPipelines function takes too much time (160s for 3900 pipelines).We tried several things (creating pipelines in batches, multi-threads) but they're not effective.Could someone give us some ideas for this?Device: SAMSUNG SM-N960F (Mali-G72)Thanks
Try building using multi-process rather than multi-thread - on older drivers there was a serialization point that multi-threading cannot avoid.
HTH,Pete
Thank you. We will try.
Hi Peter,I have another question regarding the pipeline generation time. Whether is it possible to reduce the pipeline generation time by having several vulkan device instances into the same process instead of using several processes?Regards,Hieu
I'll ask, but I don't think that avoids the problem with the overly conservative locking.
Confirmed - the lock in question on older drivers is a per-process lock, so multi-context doesn't help.
The driver has been improved to use a per-context lock on newer drivers.