08-19
2018
从开源中来,到开源中去——记龙芯平台浏览器研发之路
龙芯从诞生之日起,就一直秉承一个目标:支撑国家信息化基础体系建设。沿着这条道路,龙芯3A1000、3A2000、3A3000接连发布,3A4000即将流片,每一代性能几乎都翻倍提升。建设信息化体系,除了要求通用处理器逐代升级,操作系统逐代演化之外,核心API软件的建设更是生态建设的重要环节。浏览器作为桌面的核心API软件,云端的重要入口,龙芯早早就进行了技术积累和布局。
龙芯公司从2013年正式成立浏览器研发团队,从成立之初,浏览器团队秉承的技术路线就是:从开源中来,到开源中去。目前国际上的四大浏览器平台Firefox、Chrome、Edge、safari,其中Firefox由mozilla完全开源、Chrome的开源版本有Chromium、Edge部分开源(windows系统)、safari基于开源webkit而来(苹果系统)。龙芯同时支持Firefox浏览器和Chromium浏览器。
为了支持党政信息化业务,龙芯累计发布了Firefox24、Firefox45、Firefox52、Chromium31、Chromium60等产品。浏览器的用户体验有产品皮肤功能特点的因素,更多的则在于内部技术通路的打通。JS引擎作为浏览器的三大核心组件之一,对产品功能和用户体验有着重要影响,浏览器团队经过长时间打磨,完成了JIT技术的研发,累计4万多行代码,并协助开源社区人员,完成了MIPS分支在Mozilla和Chromium国际开源社区的代码提交。JS引擎技术是浏览器的核心技术之一,目前国内从事该技术的团队估计不会超过20人。为了提升浏览器HTML5、WebRTC等音视频应用用户体验,龙芯完成FFmpeg、libvpx、openH264等基础视频编解码库的优化,独立累计向开源社区提交数万行代码。为了提升图形图像用户体验,龙芯完成了skia、jpeg、libyuv、pixman等基础图形图像库的优化并开源,部分已经提交到国际开源社区,累计1万多行代码。
“从开源中来,到开源中去”,进而形成对开源的组织和发展能力,与开源社区形成良性发展。这不仅仅是龙芯平台上浏览器的研发思路,也是龙芯操作系统、软件生态建设的思路。龙芯生态建设,我们在路上。
龙芯公司从2013年正式成立浏览器研发团队,从成立之初,浏览器团队秉承的技术路线就是:从开源中来,到开源中去。目前国际上的四大浏览器平台Firefox、Chrome、Edge、safari,其中Firefox由mozilla完全开源、Chrome的开源版本有Chromium、Edge部分开源(windows系统)、safari基于开源webkit而来(苹果系统)。龙芯同时支持Firefox浏览器和Chromium浏览器。
为了支持党政信息化业务,龙芯累计发布了Firefox24、Firefox45、Firefox52、Chromium31、Chromium60等产品。浏览器的用户体验有产品皮肤功能特点的因素,更多的则在于内部技术通路的打通。JS引擎作为浏览器的三大核心组件之一,对产品功能和用户体验有着重要影响,浏览器团队经过长时间打磨,完成了JIT技术的研发,累计4万多行代码,并协助开源社区人员,完成了MIPS分支在Mozilla和Chromium国际开源社区的代码提交。JS引擎技术是浏览器的核心技术之一,目前国内从事该技术的团队估计不会超过20人。为了提升浏览器HTML5、WebRTC等音视频应用用户体验,龙芯完成FFmpeg、libvpx、openH264等基础视频编解码库的优化,独立累计向开源社区提交数万行代码。为了提升图形图像用户体验,龙芯完成了skia、jpeg、libyuv、pixman等基础图形图像库的优化并开源,部分已经提交到国际开源社区,累计1万多行代码。
![](/uploads/allimg/180820/2-1PR016023aT.png)
图1 龙芯近期向Firefox社区提交的部分patch
![](/uploads/allimg/180820/2-1PR016030J41.jpg)
图2 龙芯近期向Chromium社区提交的部分patch
浏览器的用户体验除了内部技术通路的打通,浏览器的产品品质也至关重要。浏览器作为平台级软件,其复杂度不亚于桌面操作系统,如何保障浏览器的稳定性是最重要的基础问题。一方面龙芯对客户问题及时响应、解决和归纳,另一方面,浏览器自带有数百万的自动化测试集,龙芯平台上的通过率已经达到99%以上,超过X86/Linux平台,远高于其他平台,有效保障了龙芯信息化的推广。“从开源中来,到开源中去”,进而形成对开源的组织和发展能力,与开源社区形成良性发展。这不仅仅是龙芯平台上浏览器的研发思路,也是龙芯操作系统、软件生态建设的思路。龙芯生态建设,我们在路上。