Memory profiling in Runtime

Hey guys, I’m unable to find this online, but similar to the Unity Profiler, what’s the best way to see which assets(textures/models) are loaded in memory during runtime and ofcourse, how much memory they take etc.

Hi @Silicon_6ix,

For models and textures, that is video memory allocation, you can use the PlayCanvas profiler. Check it out here, memory info is at the end, scroll to bottom:

https://developer.playcanvas.com/en/user-manual/optimization/profiler/

Thanks @Leonidas, I’ve already played with that before. however is it possible to see the detailed log of each texture/model and their respective memory maping

Hmm, that’s a good question. I think not, you will have to calculate it on your own based on the resolution/type.

For Basis compressed textures you can get that calculated cost in editor:

image

Not sure if that info is available on runtime, @mvaligursky may know more.

1 Like

for textures, you could inspect the private array app.graphicsDevice.textures - each member has a private __gpuSize field.

vertex/index buffers are in graphicsDevice.buffers … but here you cannot really find out what model they come from, unless you trace those all the way from render/model component youself.

2 Likes