Reducing client strain?

this might seem like more of an odd question given how many people ask on ‘how to reduce server strain’

i am trying to make a mostly lag free bullet hell system. I got a way that rendered all bullets client side and server just sort of manages data (will work on security latter, still a concept). A wall I have hit is that i can only run about ~400 bullets safely without too much lag, but this does not account for the lower end mobile devices who are probably running on worse hardware than my laptop. Moving the bullets to the server is obviously not a good idea but I don’t know a way of reducing strain on the client to allow for possibly higher bullet density. (Yes, I am not doing Instance.new(blah, workspace), i parent them after all their properties are set. I am moving them via heartbeat and cframing)