How to speedup Plot3D with precompiled argument

I have a huge problem with my code: I estimate it to take hours to run. The scheme of the code is the following (I left the steps the same, but took much simpler functions):

EX = Compile[{x, y, z}, Sin[x] Cos[y] + z];
EY = Compile[{x, y, z}, Cos[x] Sin[y] + z];

ff[x_?NumberQ, y_?NumberQ, t_?NumberQ] := EX[ x, y, t]
gg[x_?NumberQ, y_?NumberQ, t_?NumberQ] := EY[x, y, t]
ff2[x_?NumberQ, y_?NumberQ] := NIntegrate[ff[x, y, t]^2, {t, 0, 2 Pi},Method -> {Automatic, "SymbolicProcessing" -> 0}, PrecisionGoal -> 2]/(2 Pi)
gg2[x_?NumberQ, y_?NumberQ] := NIntegrate[gg[x, y, t]^2, {t, 0, 2 Pi},Method -> {Automatic, "SymbolicProcessing" -> 0}, PrecisionGoal -> 2]/(2 Pi)

Plot3D[ArcTan[Sqrt[gg2[x, y]/ff2[x, y]]], {x, -2.7, 2.7}, {y, -2.7,2.7}, PlotRange -> {0, 1}]


I really need at least X100 speedup. Maybe I have picked a wrong strategy...

What I have also tried to do is to do all the math symbolically and then give the function to the Plot3D. In this case compilation slows down because of symbolic integration, but plotting runs much faster.

I have also tried to tabulate the precompiled functions, it takes just as long to make a considerably fine table.