The refresh don't work in P3D after surface.setSize(), that's work fine in default, P2D, JAVA2D renderer, plus surface.setSize() don't work with FX2D
void setup() {
size(300,300, P3D) ;
// size(300,300, FX2D) ;
surface.setSize(600,600) ;
}
void draw() {
fill(125) ;
rect(0,0, width,height) ;
fill(0) ;
ellipse(mouseX, mouseY, 50,50) ;
}

The refresh don't work in
P3Daftersurface.setSize(), that's work fine indefault,P2D,JAVA2Drenderer, plussurface.setSize()don't work withFX2D