Game Theory: Using a convex hull algorithm to map out Pareto outcomes

I have started studying the Pareto efficiency notion in Game theory. The definition I am familiar with is this:

Strategy profile $$\mathbf{s}$$ Pareto dominates strategy $$\mathbf{s}'$$ if for all $$i\in\mathcal{N}$$, $$u_i(\mathbf{s})\geq u_i(\mathbf{s}')$$, and there exists some $$j\in\mathcal{N}$$ for which $$u_j(\mathbf{s})>u_j(\mathbf{s}')$$. Strategy profile $$\mathbf{s}$$ is Pareto optimal, or strictly Pareto efficient, if there does not exist another strategy profile $$\mathbf{s}'\in S$$ that Pareto dominates $$\mathbf{s}$$.

I am interested in finite normal form games, for example, the $$n$$-player Prisoner's dilemma. Clearly, for $$n=2$$ we have three Pareto outcomes and it's not too difficult to derive them.

But my concern is with a large number of players and non-constant utilities. How do can we find the Pareto efficiency outcomes? If you are aware of a paper that does this, please share it with me.

Is there a better, more efficient way to compute the efficiency of different outcomes of a game? Maybe the price of anarchy?

I'd appreciate any help or hint. Thank you.