Klaus,
I'm not sure if this would have any effect, but I wouldn't do that:
oPoly.Points.push(oPoint)
I would do
var points = new Points() ;
and assign all Points at once
oPoly.Points = points
In this case FM has nothing to draw while you are calculating the points
and perhaps I would set all oPoly props first and assign Points at last.