Whenever I try to work on maps with a ton of instances, it gets really laggy and slow. When I go to check task manager, roblox isnt even taking full advantage of my cpu causing it to be bottlenecking my GPU. If roblox simply added full on multi-threading to the engine, it would fix this problem.
neither your cpu nor gpu are bottlenecking here - this is a result of your game being poorly optimised and not utilising your system resources well. there’s plenty of guides on optimising games, not only here but from roblox themselves:
i just said it’s not utilising your system properly because it’s not optimised. when you finish optimising your game, that’s when you’ll see a performance difference and start seeing your system resources being utilised more. the reason likely is that you might be wasting a lot of drawcalls and/or memory bandwidth (due to duplicated assets, etc.) which stall your cpu and gpu and cause them to be underutilised. again, optimise the game first while suffering through 40fps.
this is definitely something that can be fixed by you, the developer - roblox is already plenty optimised enough, believe me, and multithreading will either make little to no difference or make things worse.
Stalling on data transfer might not show up as your system components operating at maximum capacity. Regardless, if this bad performance was actually due to poor multithreading support, you’d be able to see one CPU core being maxed out.