웹브라우저 성능 측정하는 사이트

WebKit|2019. 8. 19. 16:10

웹브라우저에서 GPU가속 성능 측정할 때, 자주 사용하던 웹사이트들이다. 웹브라우저를 임베디드 기기에 포팅한 후, 그래픽 성능을 측정할 때 사용할 수 있다.

Web Benchmark

WebGL Test

Canvas Test

zero-copy textur upload

4K video

댓글()

WebKit Haiku port

WebKit|2019. 8. 17. 07:01

https://discuss.haiku-os.org/t/webkit-status/8822/4

 

WebKit status?

Didn’t realize that… well that’s going to be useful. Also Webkit 1 stability is much better as of late… it will be nice for it to not bring down the whole browser if a bug or two does sqeak by though. I do wonder what change made it more stable…

discuss.haiku-os.org

한때, WebKit Project가 잘 나가던 시절이 있었다. Mac, Gtk+, EFL, Qt, Haiku 등 여러 포팅 레이어를 지원했고, 다양한 구성원으로 구성된 공동체가 있었다. 하지만, 2013년 구글을 프로젝트를 포킹하고 나서  WebKit Project는 급속도로 쇠락했다. 많은 회사들이 Chromium으로 옮겨갔고 현재는  Gtk+ 포트만이 유일한 외부 포트로 살아남았다. 원래 각 포트는 자신들의 리뷰 권한이 있었는데, 이를 애플 리뷰를 받도록 강요하면서 공동체가 와해되는 게기가 되었다. Haiku port는 이미 오래전에 WebKit에서 제외된 포트지만, 공동체내에서 활발하게 구현이되고 웹킷2까지 지원하고 있다. 물론, 한 사람이 열심히하고 있지만 어찌되었던 다시 웹킷에 추가될 가능성도 보이는 것 같다. Haiku Project는 오래전 BeOS를 사용해본 경험이 있어서 꾸준히 관심을 갖고 있는데, 시간이 되면 Haiku WebKit port를 한번 빌드를 해봐야겠다.

댓글()

Intent to Implement: WebGPU

WebKit|2018. 6. 12. 16:40

드디어 WebGPU를 Chromium에서 구현하나 보다. (관련글)


다음은 bink-dev에 올라온 글의 일부이다. 애플이 WebKIt에 Metal을 이용해서 만든 WebGPU와 얼마나 비슷한지 궁금하다. 같은 이름인 것으로 보아 애플의 제안이 많이 받아들여진 것 같다. 


Spec:

Work-in-progress IDL: https://github.com/gpuweb/gpuweb/blob/master/design/sketch.webidl

The “GPU for the Web” community group is approaching resolution on most-high level issues, but hasn’t looked at the detail or user-experience of the API yet.


Summary

The WebGPU API is the successor to the WebGL and WebGL 2 graphics APIs for the Web. It will provide modern features such as “GPU compute” as well as lower overhead access to GPU hardware and better, more predictable performance. WebGPU is being developed by the “GPU for the Web” W3C community group.


Motivation

Applications on the Web are becoming ever more interactive, which increases the demand for programmable 3D graphics, image processing, and GPU access in general. WebGL and WebGL 2 fulfill some of this demand, but do not match the features or performance of modern native graphics APIs.


WebGPU will close the gap in terms of performance, and introduce “GPU compute” functionality to the Web. This will help porting native applications to WASM that require native features, and will unlock the performance of GPU-accelerated scientific computing on the Web (including machine learning).


In addition WebGPU will give developers more predictable performance by being in the style of “explicit GPU APIs” and by being designed to map efficiently on all modern native graphics APIs.

댓글()

리눅스 크롬 브라우저 File-picker 드디어 modal 지원

WebKit|2016. 12. 10. 05:00

크롬 브라우저 55 부터 file-picker가 modal로 뜹니다. 그전까지는 modal이 아니라 오동작하는 경우가 많았습니다. 대표적인 경우가 gmail에서 file attach하다가 다른 페이지로 이동할 수 있었지요. 실수로 이런 경우가 많았나봅니다. 처음 버그 수정 부터 계속 patch를 다듬고 reviewer를 위해 기술문서도 작성하는 등, 실제 patch가 반영되는데까지 1년이 넘게 걸렸습니다. 몇 번 land되었다가 2번 revert되고 이후 regression만 3번 정도 있어서 이 부분도 수정해야했습니다. 이번주에도 regression하나 수정했습니다. 직접적인 버그는 아니였지만.. gmail팀의 지원 사격이 없었으면 아직도 이 patch는 림보에 빠져서 영원이 못나올 뻔 했습니다. 어찌되었던 기쁘군요.


관련 버그


Patch

  • https://codereview.chromium.org/1624793002
  • https://codereview.chromium.org/2398723002/
  • https://codereview.chromium.org/2418733004/
  • https://codereview.chromium.org/2554133003/




댓글()

2012년 1,2월 브라우저 기술 동향

WebKit|2012. 2. 21. 17:48
제13차 W3C HTML5 KIG(Korean Interest Group) 회의에서 발표한 최근 브라우저 기술 동향을 정리해보았습니다.

Android용 Chrome 브라우저 베타 출시되었습니다.

몇가지 특징을 살펴보면,

  1. Remote Debugging
  2. SPDY, SSL Faststart
  3. Hardware Accelerated Graphics
  4. V8
  5. Navigation Timing
  6. Large persistent cache
  7. requestAnimationFrame
  8. Preloading
  9. HTML5 APIs

출처: http://gent.ilcore.com/2012/02/chrome-fast-for-android.html

HTML5 Feature를 살펴보면,

  1. AppCache
  2. FileSystem and File APIs (File, FileList, FileReader, Blob)
  3. localStorage for storing simple key-value pairs
  4. WebSQL for relational data (deprecated)
  5. IndexedDB

지원하는 Device API를 살펴보면,

  1. Geolocation API for accessing location
  2. HTML media capture for camera access
  3. Device orientation
  4. Android Intent URIs such as tel: and geo: that give access to the dialer and Google maps

FAQ 가운데, 중요한 것을 살펴보면,

  1. Is Chrome for Android Beta open source?

Android용 Chrome브라우저는 소스코드가 공개되어 있지만, 개발 브랜치는 공개되지 않았으므로, 아직까지 100% 오픈소스라고 말하기는 힘들 것 같습니다. 하지만 향후, Chromium Project를 통해 오픈소스화 될 것으로 예상합니다.

  1. Does Chrome for Android now support the embedded WebView for a hybrid native/web app?

아직은 지원하지 않지만, Chrome의 WebView를 쓸 수 있으면 독립 프로세스로 진정한 웹앱을 개발할 수 있을 것 같습니다.

  1. Does Chrome for Android support apps and extensions?

아직까지 계획에는 없다고 하지만, WebView를 쓸 수 있다면 앱은 가능할 것이고, 확장은 Desktop과 호환성을 갖추기는 어렵겠지만, 독자적으로 지원할 것으로 예상합니다.

  1. What version of Flash is supported on Chrome for Android?

Adobe도 이미 Mobile용 Flash를 지원하지 않기로 했기 때문에, 역시 Andrioid용 Chrome도 지원하지 않는다고 합니다.

  1. Is Canvas hardware accelerated?

Andorid가 사용하는 2D 그래픽 엔진인 Skia가 HW가속이 되므로, Canvas도 당연히 가속이 됩니다.

  1. What about WebGL support?

이 부분은 의외지만, 아직은 안된다고 합니다.

  1. Does Native Client work on Chrome for Android?

역시 지원하지 않습니다.

더 자세한 내용은 아래 원문을 참고하세요.

http://code.google.com/chrome/mobile/docs/faq.html

그외에,

Experimenting with WebRTC on iOS

Erisson에서 WebRTC Demo을 iOS에서 보여주었습니다. Erisson은 그동안 WebKitGtk+과 GStreamer를 기반으로 WebRTC를 구현했습니다. 이번에 iOS용 WebRTC App을 만들어서 서로 화상 통신하는 Demo를 보여준 것입니다. 참고로, WebRTC는 Chrome에서도 이미 구현을 해서 공개를 했고, Mozilla도 관심을 갖고 스펙을 만들고 있습니다. 향후, 웹에서 JS에서 사용가능한 WebRTC API 이용해서 쉽게 화상통신 기능을 구현할 수 있게 될 것입니다.

WebKit에서 <shadow> Element 지원

W3C에서 Shadow DOM이라는 스펙을 표준화하고 있습니다. 웹 UI를 구성하다 보면 자연스럽게 여러개의 구성요소로 화면을 나눌 수 있습니다. 사실 각각의 구성요소가 Widget이 되고 별개로 구분하여 재사용 가능할 수도 있습니다.  사실 HTML에서 사용하는 widget류의 element는 내부적으로 별도의 DOM 구조(Shadow DOM)를 갖고 있으나 접근이 막혀있습니다.  <shadow> 엘리먼트를 이용하면 DOM 구조의 경계를 넘나들 수 있게 됩니다. 그래서 CSS를 조정해서 보이는 모습을 변경할 수 있습니다. 테스트가 필요한 분은 이 글을 참고하세요.

마지막으로, Firefox10에 추가된 개발도구에도 관심을 가져주시기 바랍니다.

나머지 소식을 링크로 확인하세요.

  1. Reverse directions for CSS Animations are now available
  2. Apple has landed support for hardware accelerated CSS Filter animation.
  3. Decoding of JPEG images has been improved by 9% on Chromium.
  4. WebGL is now able to report errors to Web Inspector’s console.
  5. It is now possible to build Samsung’s WebKit EFL port with support for WebGL.
  6. Add a custom CSS Lexer for WebKit, doubling lexing performance!

참고

  1. http://peter.sh/2012/01/shadow-dom-pointer-lock-and-a-new-css-lexer/
  2. http://peter.sh/2012/02/mutation-observers-reversed-animations-and-faster-jpegs/

댓글()

Hardware Acceleration in WebKit - HTML5 대한민국 관심 그룹 11차 회의 발표 자료

WebKit|2011. 12. 21. 14:24
WebKit에서 구현된 하드웨어 가속과 WebKit-Clutter를 소개합니다.

댓글()

WebKitGtk+ Hackfest 2011 참가 후기

WebKit|2011. 12. 13. 13:03
작년에 이어 WebKitGtk+ Hackfest 2011에 참석했다. 작년에 이어 같은 장소인 스페인 코루나에서 열려서 그런지, 이제 스페인이 제2의 고향 같다는 느낌이 들 정도다. 물론 스페인은 말은 아는게 "올라"가 전부다. ^^;

작년과 다른 점이 있다면 이번에는 너무나 큰 할 일꺼리를 가지고 갔다는 점이다. 그 동안 webkit-clutter 포트에 작업한 Accelerated Compositing 기능을 WebKitGtk+에 적용하는 것! 너무나 큰 욕심이었을까? 집에 돌아와서 겨우 초기 patch를 반영했다. 어찌되었던 동작하는 데모를 만들었다는데 위안을 삼을 수 있었다. 이외 많은 관심사가 논의되고 해결되었다.

WebKit은 정말 뜨거운 프로젝트다. 이런 프로젝트에 참여하고 있다는 것 자체가 신기할 따름이다. 하지만, 나름 WebKit을 일찍 알아보고 꾸준한 관심을 가져온 결과인 것 같다. 2007년에 QT용 WebKit을 처음으로 TV에 포팅했었으니까, 벌써 4년전 일이다. 안타까운 것은 Mozilla 프로젝트에는 관심을 가질 여유가 없다는 점. 다행스러운 점은 WebKitGtk+를 통해 GNOME기술에 눈을 뜬 점.

얼마전 HP WebOS가 오픈소스 프로젝트가 된다는 발표가 있었다. 내년에는 웬지 할일이 더 많을 것 같다.

댓글()

QtWebKit, WebKit2로 전환 예정..

WebKit|2011. 7. 6. 11:55
이번에 새로 출시한 Noikia N9에 WebKit2 기반의 QtWebKit이 탑재되었다. Apple 보다 한 발 빠르게 WebKit2 모델을 적용한 것이다. 내년에 Apple에서 먼저 WebKit2를 적용한 Safari를 출시할 것으로 예상했는데, Nokia가 덕분에 좀 더 빠르게 움직일 듯 보인다. 어쨌든, Nokia가 최초로 Mobile용 브라우저에 Multiple Process Model를 도입한 것이다.

Nokia는  Qt5에서 마지막으로  WebKit1 API를 update하고, 더 이상 개발을 하지 않는다고 한다. 앞으로, iPhone에 WebKit2가 적용되면 Native Application과 Web Application간의 경쟁이 더욱 뜨거워 질 것 같다.

댓글()