Вам нужно создать окно как скрытое, и после загрузки контента (событие did-finish-load) вы его покажете. Это предотвращает мигание.
Код для основного процесса
const win = new BrowserWindow({
width: 800,
height: 600,
show: false, // loads the window without showing it
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
win.loadFile('index.html')
win.webContents.on('did-finish-load', function () {
win.show() // show the window now since everything is ready
})