I am wondering which method of these are best when it comes to performance. In my game I have fishes that each have quite many bubbles they use. Say 50 each. So either my option is to continuously create these bubbles on them or have a big pool of all their bubbles already created off screen and invisible and just "grab" them when needed.

Which of these are better for performance? I think I have heard that creating stuff at runtime is a bit performance heavy, on the other hand it would not be unusual to have a hug "pool" of bubbles of like 800 instances off screen with the grab method so not sure which one is best?