페인트 유지 - 동일 출처 탐색에서 흰색 플래시 감소

한동안 Chrome은 사용자가 페이지가 로드되고 있다는 확신을 주기 위해 새 페이지로 전환할 때 화면을 지웠습니다. 이 '흰색 번쩍임'은 브라우저에서 페이지를 로드하는 동안 흰색 페인트를 표시하는 짧은 순간입니다. 이렇게 하면 탐색 간에, 특히 페이지가 더 흥미로운 상태에 도달하는 속도가 합리적으로 빠른 경우 주의를 산만하게 할 수 있습니다.

하지만 매우 빠르게 로드되는 페이지의 경우 이 방법은 실제로 사용자 환경에 부정적인 영향을 미칩니다. 다음 애니메이션에서는 오늘 이러한 모습이 어떻게 표시되는지 보여줍니다.

저희는 이 웹사이트를 매우 애용하고 있습니다. 고품질의 사용 환경이 엉망이 되어 수정하고 싶었습니다. 이 동작은 특히 페이지가 충분히 빠른 경우 브라우저가 그리기를 시작하기 전에 잠시 대기하는 페인트 홀딩이라는 새로운 동작을 사용하여 그렇게 했습니다. 이렇게 하면 페이지가 전체적으로 렌더링되어 진정한 즉각적인 환경을 제공할 수 있습니다.

작동 방식은 특정 페이지 로드 신호 (PLS) (예: 콘텐츠가 포함된 첫 페인트 / 고정 시간 제한)에 도달할 때까지 컴포지터 커밋을 지연하는 것입니다. Google에서는 기본 스레드 렌더링 작업과 impl 스레드에 커밋하는 것을 구분합니다(후자만 지연됨). PLS가 발생할 때까지 기다리면 흰색/단색으로 깜박일 가능성이 줄어듭니다.

이 작업의 목표는 Chrome에서 동일한 출처의 두 페이지 간 탐색을 원활하게 하여 이전 콘텐츠와 새 콘텐츠 사이에 흰색/단색 배경이 깜박이지 않고 빠른 기본 탐색 환경을 제공하는 것이었습니다.

Chrome Canary (Chrome 76)에서 페인트 보류를 사용해 보고 의견을 알려주세요. 개발자는 이를 활용하기 위해 페이지를 수정하는 것에 대해 걱정할 필요가 없습니다.