Graphics
수정·
Electron에서 Background Rendering 설정
Electron
Electron은 Node JS 기반으로 데스크톱 앱을 개발할 수 있는 Cross Platform 프레임워크이다.
기본적으로 Web UI 방식으로 설계를 하고 Electron 은 HTML을 보여주는 BrowserWindow를 띄워주는 방식으로 동작한다.
BrowserWindow 는 Chromium 을 기반으로 동작한다.
이 때 BrowserWindow 는 다른 Process 에서 동작을 하기 때문에 Electron과의 통신은 IPC 통신으로 이루어지며
내부에 Express 등의 WAS 를 동작시켜 통신할 수도 있다.
문제 상황
Electron에 의해 생성된 BrowserWindow가 다른 창에 의해 모든 영역이 가려지면 렌더링이 중단된다.
해결방법
BrowserWindow 를 생성 할 때 option 에 다음값을 추가한다.
const browserWindowOptions = {
...,
webPreferences: {
backgroundThrottling: false // 기본값은 true 로 설정되어 있다.
}
}
이 방식을 적용하더라도 최소화 시에 렌더링이 멈추는 현상은 해결되지는 않는다.
다만 창이 가려졌을 경우 Rendering 은 정상적으로 이루어진다.