최근 충분한 사양임에도 크롬 브라우저를 사용하면 많은 창이 켜져있을 때, 멍을 때리거나 전체 창이 닫히는 경우가 상당히 많았다. 좀 찾아보니 최적화는 방법 중 gpu하드웨어 가속에서 tile update mode를 zero-copy로 변경하면 성능 향상을 볼 수 있다는 많은 리포트들이 있어 확인해봤다.
사용 방법은 굉장히 광범위하게 퍼져있긴 한데, 전부 인텔 전용이라고 나와 있어 한 번 시도해봤다. 사용 방법은 크롬 실행 파일 뒤에 2개의 인자를 추가하면 된다.(윈도우 환경에서 바로가기에 인자를 추가해주면 됨)
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --enable-native-gpu-memory-buffers --enable-zero-copy
이런식이다.
인텔 cpu를 사용하고 있지 않기 떄문에 비교를 해보자면, ADM cpu에서는 chrome://gpu의 Graphics Feature를 봤을때 Native GpuMemoryBuffer 메뉴가 활성화 되어있지 않다. 가령 이 메뉴가 안보인다.
이렇게 나온다.
하지만 하단에 Tile update모드를 보면 One-Copy에서 Zero-Copy로 변경되는것을 알 수 있다. 적용이 된건가??
아래는 크롬 브라우저의 성능 상태? 리소스 사용량이나 FPS수치를 나타낸 것이다.
별반 차이가 없다, 구매한지 약 2년정도 된 PC지만 아직 짱짱한 데다가, 그래픽카드도 1080으로 쓸만하고, cpu도 6코어짜리니 하나정도로는 성능에 큰 이슈는 없는 모양이다.
그렇게 인지하고 조금 찾아봤는데, zero-copy는 cpu에 상관없이 모두 사용이 가능하고 --enable-native-gpu-memory-buffers이 옵션은 윈도우에서 사용 불가능하다. 해당 옵션자체가 chrome OS와 Linux OS를 상정하고 만들어져있는 설정으로 보인다.
다른 정보를 찾아보면 GpuMemoryBuffer는 윈도우에서 지원하지 않는듯 하다. 고로 쓸데 없는짓들이 포스팅되고 있는 것이다.
https://bugs.chromium.org/p/chromium/issues/detail?id=552068#c8
552068 - chromium - An open-source project to help move the web forward. - Monorail
bugs.chromium.org
추가적으로, zero-copy기능은 꼭 추가 인자를 넣지 않고도 켤 수 있다. 크롬 주소창에 chrome://flags/를 치고 들어가면 해당 기능을 켜고 끌 수 있다.
추가로 zero copy의 기능이 무조건 성능을 향상시키거나 하지 않는다, 해당 기능을 사용함게 있어 추가로 메모리 사용률에 대한 이득이 있는 정도인것 같다. 자세히는 읽어보지 않아서 모르겠지만, 단순히 성능이 증가하는 지표만 캡쳐해서 사람들에게 공유된듯 싶다.
관련 기술 문서가 궁금하면 여기를 한번 확인해보는것도...
https://software.intel.com/en-us/articles/zero-copy-texture-uploads-in-chrome-os
Zero-Copy Texture Uploads in Chrome OS*
Synopsis This whitepaper introduces the web and Chrome* graphics rendering pipeline, discusses how to explore Intel® architecture advantages, and talks about the work we have done to solve the texture upload problem and the benefits we have found in doing
software.intel.com
Native One-copy Texture Uploads for Chrome* OS on Intel® Architecture Enabled by Default
Native one-copy texture upload patches have been merged in upstream Chromium*, and they are enabled by default for Chrome* OS on Intel® architecture. Based on the initial patchsets, it is enabled on all Chrome OS devices based on fifth-generation Intel® Co
software.intel.com
그리고 MAC OS에서도 확인해봤는데, MacOS에서도 gpu memory buffer옵션이 켜져있는것을 chrome://gpu 메뉴에서 확인할 수 없었다. 최근 버전의 크롬OS라면 왠지 해당 부분이 완전히 빠졌거나 했을것 같다.