IMO the biggest benefits that OpenCL (or some other vector-savvy
multiprocessing interface) could bring to WebKit would be in the
following areas:
- Reading graphics files (e.g. jpg)
- Encryption/Decryption (TLS, SSL)
- Compositing graphics in software (e.g. alpha blends)
- Implementing runtime graphics decompression (e.g. blitting from
DXT or RLE or even possibly directly from .jpg/.png)
- Improving special cases of existing _javascript_ execution
- Improving video codec performance (for video plugins)
I don't see OpenCL easily improving the following areas, though there
are ways to throw general threads at these problems:
- Network transport
- HTML/XML/CSS parsing
- Layout / Font processing, at least at the low level
- General _javascript_ execution, JITing _javascript_
- General Flash script execution
- AJAX related functionality
On Windows you can achieve significantly higher network throughput by
splitting the work across multiple threads, due to how the network
stack works. If you needed to read 100 files from a server, you'd get
better performance by splitting it into 4 pipelined HTTP connections on
4 threads. This is true even if you don't have multiple CPUs.
It's not easy to parallelize things like text parsing and DOM
processing. There's a reason why a lot of multiprocessing research
focuses on the success cases of things like DSP, matrix math, and
naturally branch-less algorithms.
Paul
Hi,
I wonder if it is planned to rewrite WebKit in OpenCL. I'm not sure but
theoretically we could expect a further big improvement in speed, both
in rendering HTML and _javascript_. Am I wrong?
Angelo
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
|
_______________________________________________
webkit-dev mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev