Over the previous months I’ve been creating an software utilizing Vulkan. Lately I’ve carried out loading 3d fashions from .fbx recordsdata and their related .png textures. At this level there seems to be no efficiency points till you have a look at the reminiscence utilization.
4096x4096 10mb .png file after loaded is spiking reminiscence utilization over 500mb. Loading an
80,000 polygon .fbx file is spiking reminiscence utilization over 2GB! in the course of the loading course of after which it ranges down round
800mb. That’s nonetheless 800mb for loading 1 mannequin and 1 texture and that is simply on the CPU.
On the GPU, which as significantly much less out there ram than the CPU, simply by taking a look at process supervisor, is displaying about the identical quantity of utilization. If I load in additional mannequin+texture pairs I can see reminiscence utilization on the GPU’s graph take massive steps up after switch operations full.
At this charge I wont have the ability to have however solely a small handfull of objects in a complete scene.
So what am I doing mistaken right here? Simply what vital issue have I fully neglected when designing this software?
It is a learn-as-you-go venture, and i am pleased with myself for getting this far, however this reminiscence subject is totally dumbfounding and I have never a clue.
If anybody need’s to have a rummage round in my code the venture is up on GitHub.