so UE4 uses all cpu when compiling or setting the lighting but it doesnt use all cpu when simulating physics lets say i have a destructible mesh with 2000 chunks and will lag if i destroy it but the cpu is only at 40%
isnt there a way to make it use all cpu or is there a way to make the gpu handle the physics instead?
i dont know which one is better
this happens when playing in the editor i dont know if theres any difference when packaged
first step is to stop using task manager to monitor CPU usage, it shows CPU usage as an average. second step is to understand how threads work.
if you have a 4 core 8 thread CPU, running one core at 100% will only show 25% usage in task manager.
blowing up a single mesh into 2000 parts is one operation and cannot be split over multiple cores, ever.
when compiling shaders, you will see 4 processes spawn, each running in there own thread, that’s why you hit 100% in task manager.
as for CPU vs GPU, GPU is vastly faster at multi threaded things, a typical GPU has 2000+ cores vs the 2-4-8 cores of CPU’s.
this is why its is stressed by everyone that single core performance is more important for games.
what about multiple meshes lets say 4 meshes with 500 chunks still lagging without using other cores
ive played some games which rely on physics and they use as much cpu as it needs
and about the gpu some people say they use physx or that thing with gpu and ive heard that UE4 has physx too so i suppose theres a way to make the gpu handle it instead
read the docs/wiki and read up on how multi threading works.
these “other games” aren’t using “as much cpu time as they need” they simply have LOTS of other stuff going on as well, and they don’t try to use meshes fractured anywhere near that level (you really are using the worst case scenario) they might have a few dozen mesh’s blow up into 20-30 bits for a total of 600-800 bit flying around, not 4000. and those bits will run happily on one core. and even then they don’t leave them laying around, they get destroyed pretty fast as they eat up draw calls REAL fast
I enabled async and it improved my perfomance plus my cpu usage goes to 70% now (i suppose its using another core or thread?)
but now i cant touch destructible meshes why is that?