Geeks3D Forums

Tech Forums => 3D-Tech News Around The Web => Topic started by: JeGX on September 25, 2020, 06:52:05 PM

Title: Porting Detroit: Become Human from PS4 to PC in Vulkan
Post by: JeGX on September 25, 2020, 06:52:05 PM
Here is an interesting blog series discussing the port of the game Detroit: Become Human from PlayStation 4 to PC. The developers explain why they chose the Vulkan API to port the game on PC.  On the first article we learn that the game has around 100k VkPipelines and more than 4000 textures in a frame:
In the end, we decided to generate all the VkPipeline during the first launch of the game. This completely eradicated the stuttering issue, but we were now facing a new problem: the generation of the VkPipelineCache was taking a very long time.

Detroit: Become Human has around 99,500 VkPipelines ! The game is using a forward rendering approach, so material shaders contain all the lighting code. Consequently, each shader can take a long time to compile.


Even with a low number, the update of descriptor sets was still a bottleneck. Updating a descriptor set can be very expensive if it contains many resources. In Detroit: Become Human, we can have more than 4,000 textures in a frame for instance.


- Part 1 (
- Part 2 (
- Part 3 (