当我使用window
在呈现过程中最大化remote.getCurrentWindow().maximize()
时,由于我使用ipcRenderer向window
发送一条消息到主进程,因此window.maximize()
max的动画不流畅。
它在MacOS 10.14.4和 Electron 版4.1.4上。
document.getElementById('maxrender').addEventListener('click', () => {
// the animation is not smooth
if (currentWindow.isMaximized()) {
currentWindow.unmaximize();
} else {
currentWindow.maximize();
}
})
document.getElementById('maxmain').addEventListener('click', () => {
// the app will receive this message and call the same function
// the animation is smooth
ipc.send('window-max')
})
单击“窗口最大”和“ipc最大”,动画的平滑度是完全不同的
最佳答案
我在 Electron 社区上创建了一个#17858问题。
简而言之,remote
调用是synchronous
,它将阻止一些ms
的渲染过程。因此,动画与asynchronous
ipcRenderer进行消息传递时不一样。