크롬 75 버전 더 빨라지게 하는 방법









초필수 설정 ( 웹서핑 속도 향상이 가장 큽니다. ) 







주소창에 chrome://flags









GPU rasterization







웹 컨텐츠를 래스터화 할때 GPU 를 사용합니다.  --->  '사용' 옵션을 선택







Out of process rasterization







렌더러 대신 GPU 프로세스에서 Ganesh 래스터를 수행합니다. 또한 무조건 GPU rasterization 를 활성화해야 합니다.  --->  '사용' 옵션을 선택





Rasterization (래스터화) : 점이나 선, 문자나 이미지 등으로 이루어진 이미지 데이터를 화면이나 프린터 출력시에 도트(비트맵)로 변환하는 것 ]









역대 크롬 버전업중 가장 큰 속도 향상을 보여주는 옵션 같습니다. 크롬 100개 이상을 한번 재시작 하면서
CPU 점유률을 살펴보세요 저 옵션을 끄면 CPU 점유률이 100%에서 꽤 오랫동안 머물러 있습니다.
당연히 화면이 바로 나오지 않습니다.







사용CPU는 스카이레이크 6600K (3.5Ghz, 4/4) 입니다. 저 옵션을 실행시키면 재시작을 해도 순식간에
화면이 나옵니다. CPU 점유률 100%도 일순간만 점유하고 바로 CPU 점유률이 하락을 합니다.
GT1030 을 사용하지만 고급성능의 GPU 사용하면 성능이 더 좋을지 모르겠습니다.







Chrome 75.0.3770.80(공식 빌드) (64비트) 버전과 GT1030 에서 GeForce Hotfix Driver 430.97 를 사용하는데
Out of process rasterization 가 비활성 됩니다. Chrome 74 버전이나 Chrome 75 Beta 버에서는 문제가 없었는데 GPU 드라이버 문제인지 Chrome의 문제인지 시간이 지나면 밝혀질것 같습니다.









크롬 바탕화면 아이콘 ]  ----->  [ 마우스 오른쪽 버튼 ]  ----->  [ 속성 ]  ----->  [ 대상 ]







Chrome 75 --disk-cache-size.png







"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disk-cache-dir="Z:\TEMP\Chrome Cache" --enable-native-gpu-memory-buffers --disk-cache-size="8589934592"







"C:\Program Files (x86)\Google\Chrome Beta\Application\chrome.exe" --disk-cache-dir="Z:\TEMP\Chrome Cache" --enable-native-gpu-memory-buffers --disk-cache-size="8589934592"







Chrome Beta 버전 사용자분들은 Chrome Beta 라고 파란색 문자 부분을 바꾸어야 합니다.







이 명령어를 넣으세요







1.  --enable-native-gpu-memory-buffers 



이 명령어는 네이티브 GPU 메모리 버퍼 를 사용합니다.

크롬은 웹서핑을 해서 데이타를 로딩할때 우선 시스템 메모리에 데이타를 올려놓고 GPU에 할당된 메모리에 올려놓는데 
이 설정을 하면 시스템 메모리에 데이타를 올려놓는 과정을 없애고 바로 GPU에 할당된 메모리에 데이타를 올려놓습니다. 
내장 GPU 라도 설정된 메모리가 있으면 외장 GPU 같이 성능 향상이 있습니다. )





반드시 Chrome://flags 에서 [ Zero-copy 래스터라이저  ----->  사용 설정됨 ] 으로 해야 제 성능이 나옵니다.









2.  --disk-cache-dir="Z:\TEMP\Chrome Cache"
    --enable-native-gpu-memory-buffers --disk-cache-size="8589934592"




이 명령어는 Chrome 의 임시데이터 를 쓰기를 하면 수명을 줄이는 SSD 나 느린 HDD 에 저장하는 것이 아니라
Ramdisk 에서 사용하게 만드는 명령어 입니다. ( Ramdisk 는 본인이 알아서 구해야 합니다. 한국에서는 유명한 Ultra Ramdisk 가 있고 세계적으로는 Primo Ramdisk 가 있습니다. )





Chrome 으로 웹서핑을 할때 100개 이상의 Chrome을 사용하거나 데이타가 너무 많을때 SSD 나 HDD 는 병목현상
이 일어나서 프리징 현상 같은것이 발생하는데 램디스크를 사용하면 이런 현상이 최소화 됩니다.





그리고 Ramdisk 캐쉬 사이즈를 적어주는 이유는 Chrome 에서 자동으로 캐쉬 용량을 잡아주는 기능이 너무 
나쁘기 때문입니다. 저는 캐쉬사이즈를 8GB 를 잡았습니다. 처음부터 8GB 를 고정적으로 사용한다는 의미가 
아니라 최대 8GB 까지 용량을 잡는다는 소리입니다. 
보통 100~130 개정도 Chrome 을 띄어 놓은 분들은 이 정도 용량을 Ramdisk 로 잡는것이 좋습니다. 







1KB 는 1024 Byte 
1MB 는 1024 KByte 
1GB 는 1024 MByte 입니다.







2GB 를 캐쉬 메모리로 설정을 한다면 1024*1024*1024*2 의 값을 넣어주셔야 합니다.







과거에 사용되던  Media Cache 명령어는 삭제가 되었습니다. 강제로 명령어를 삽입하면 기존 데이터 캐쉬 사용
명령어도 무시되어 Ramdisk 가 아닌 SSD나 HDD 공간에 저장이 됩니다. 저장되는 공간은 아래 디렉토리 입니다.







C:\Users\유저명\AppData\Local\Google\Chrome\User Data\Default\Cache









이 명령어들이 제대로 적용되었는지 확인할려면







주소창에 chrome://gpu 







ChromeGPU - 01.png





< Chrome 65 >







Chrome66GPU_-_01.png





< Chrome 66 >







ChromeGPU - 02.png







빨간 네모창의 문자가 나와야 합니다.







native-one-copy-texture-blog_screen12.jpg native-one-copy-texture-blog_screen13.jpg zero-copy-texture-uploads-in-chrome-os-fig6.png zero-copy-texture-uploads-in-chrome-os-fig7.png







''Zero copy' 와 'Native GPU 메모리' 사용시 장점 인텔싸이트 발췌









필수 설정 ( 웹서핑 속도 향상이 큽니다. )







주소창에 chrome://flags







Enable pixel canvas recording


Pixel canvas 기록으로 합성은 ( The Compositor ) 은 화소에 맞춰 ( aligned ) 콘텐츠를 래스터할 수 있고 텍스트 렌더링도 개선합니다. 기기가 분수식 축척 ( Fractional scale : 分數式縮尺 ) 을 사용할 때 활성화되어야 합니다.
  --->  사용







Enable the use of SurfaceLayer objects for videos.


활성화 시키면 비디오용 VideoLayer 대신 표면 ( Surface ) 에서 합성작업 ( Compositing ) 을 합니다.  --->  사용






FontCache scaling


렌더러에서 캐시된 글꼴을 재사용하여 빠른 레이아웃을 위해 다양한 크기의 글꼴을 제공함  --->  사용







Only Auto-Reload Visible Tabs


Chrome 탭을 볼때만 페이지 자동 재읽기 ( 메모리 절약 옵션 )  --->  사용 중단
( 빠른 속도를 원하시면 이 옵션은 사용하지 마세요 메모리가 부족하신 분들만 사용하세요 )
( Chrome 의 Tab 의 주소 목록들이 임시저장된 Current Session 파일 용량이 4배 정도 커짐 )






Override software rendering list 


소프트웨어 렌더링 목록 무시  --->  '사용' 옵션을 선택하고 문제가 생기면 바로 '사용중지' 로 비활성화 하세요.







Parallel downloading


활성화 시키면 병렬 다운로드 사용으로 다운로드 속도를 가속화 합니다.  --->  사용







Viz Hit-test


만약 활성화된 경우, 이벤트 타겟팅은 CompositorFrame 또는 SurfaceLayer에 서 계산한 적중 테스트 ( Hit-test ) 데이터를 사용하여, 새로운 viz 지원 적중 테스트 로직을 사용합니다..  --->  Enable SurfaceLayer







WebGL 2.0 Compute


활성화 시키면 WebGL 2.0 Compute API 를 사용합니다.  --->  사용







Zero-copy rasterizer


Raster 스레드는 타일 관련 GPU 메모리에 직접 기록합니다.  --->  사용









추가 설정 ( 아직 속도 향상이 그렇게 크지 않습니다. )







Experimental QUIC protocol

실험용 QUIC 프로토콜 Mac, Windows, Linux, Chrome OS, Android  --->  사용 중단

( 이론상으로는 빨라야 하는데 오히려 더 느려지는 싸이트들이 많습니다. 뭔가 문제가 있는 듯 )





관련자료


(구글이 제안한 새 프로토콜로 구글 관련 서비스 이용 중 문제가 있는 경우 사용 중지합니다.)







Brotli Content-Encoding

Brotli 콘텐츠 인코딩 Mac, Windows, Linux, Chrome OS, Android  --->  사용 중단

( 속도가 빨라지는줄 알았더니 오히려 속도가 더 느려집니다. 크롬 100개 정도 동시 재시작을 하면 
  화면 켜지는 속도가 대폭 느려집니다. )
( Chrome 의 Tab 의 주소 목록들이 임시저장된 Current Session 파일 용량이 4배 정도 커짐 )





관련자료






Brotli’s ability to handle web assets such as HTML, JavaScript and CSS about 17-25 percent better than gzip

Brotli 압축 알고리즘은 gzip에 비해 HTML, Javascript, CSS의 처리성능이 약 17-25% 정도 더 좋아짐









Chrome 75 버전으로 업데이트 되면서 또 많은 변경이 있었습니다. 과거 버전의 옵션이 대부분 사라지거나
기본값으로 설정되었습니다. 특히 메모리 관련 옵션이나 Brotli Content-Encoding 옵션이 성능을 빠르게
하는줄 알았는데 대략 Chrome 100~130개 정도를 재시작을 해보니 화면 나타나는 속도가 무지하게 느려졌습니다.
저 옵션들은 메모리 최적화 하여 메모리 소모량을 줄이는 옵션 같습니다.
그래서 다시 옵션 최적화 방법을 업데이트 했습니다. 
이 설정을 사용하셔서 엄청난 Chrome 의 속도향상을 느껴보세요...