おかしくなる:無反応になる(キーボード入力,マウス入力に反応しない)が,Processing側で「停止」ボタンを押せばプログラムは終了するので単純なフリーズとは異なる.
ウィンドウサイズを変更するのは,measureとvisualizeのみ(mergeは変更しない). Processing3から利用可能になったsurfaceを用いて,以下のようにウィンドウサイズを変更している.
デバッグモードでステップ実行を行うと,上記無反応になる現象は発生しない.ブレークポイントを仕掛けて「続行」で飛ばすと発生する.
上記のように,setSize()した後に,(既にvisibleなのだが)setVisible(true)することで本異常現象は回避できる.ただし根本的な問題解決ではない.
以下のページ("surfaceを置き換える関数")で示されているように,windowResize()をProcessing4では使用するべきかも知れないが,現時点では互換性の為にsurfaceを利用している. https://qiita.com/TN8001/items/6f8906f3fd6b2c235998
今後は,surfaceではなく,Processingのバージョンに基づいて,windowResize()を使用するように変更するべきかも知れない.