广泛兼容,国密支持,龙芯浏览器深度完善信创生态

龙芯中科 龙芯中科 昨天


龙芯的目标是构建一套区别于Wintel体系和AA体系之外的第三套信息化生态体系,支撑国家信息化自主发展。建设信息化生态体系,除要求通用处理器逐代升级,操作系统逐代演化之外,核心API软件的建设更是生态建设的重要环节。浏览器作为桌面的核心API软件平台,云端的重要入口,在生态建设过程中是不可或缺的重要一环。

2013年龙芯正式成立浏览器研发团队,基于国际主流的Gecko内核、Blink内核展开研发,从浏览器的JS引擎研发、渲染优化等底层做起,支持Loongnix、UOS、麒麟系统等国产操作系统。在信创生态还在完善的同时,龙芯浏览器支撑着整个项目顺利推进,在实践的过程中,形成了自己独有的特色。点击文末“阅读原文”,即可下载体验龙芯浏览器!



龙芯浏览器的产品特色


1

稳定可靠



浏览器是桌面应用中最复杂的软件平台,一方面其本身框架和代码的复杂度极高,同时依赖大量操作系统第三方库,其稳定性和可靠性在一定程度上决定着桌面应用的稳定性和可靠性。龙芯浏览器通过两大手段确保稳定可靠属性:

(1)浏览器自带的海量测试集。以其中一项mochitest为例,该测试用例数多达近百万,这些测试用例也是在浏览器发展过程中沉淀下来的精华,龙芯对所有不过的测试用例全部进行了分析与调试,确保不会出现功能、稳定性等问题。龙芯也是国内极少有做到该层面的浏览器团队。目前与X86的开源版本相比,整体上测试用例通过率,龙芯平台优于X86平台,更高于ARM平台,功能和稳定性可以满足信息化需求。


Mochitest

Passed

Failed

Todo

Total

PassedRate

FailedRate

龙芯&x86

plain

698719

92

7246

706057

98.96%

0.01%

优于

778701

400

78664

857765

90.78%

0.05%

chrome

66277

8

224

66509

99.65%

0.01%

持平

66342

42

221

66605

99.61%

0.06%

browser

97079

48

85

97212

99.86%

0.05%

优于

97138

93

80

97311

99.82%

0.10%

a11y

44053

14

151

44218

99.63%

0.03%

优于

42469

1111

151

43731

97.11%

3%

Jetpack_addon

1328

13

0

1341

99.03%

0.97%

持平

1327

13

0

1340

99.03%

0.97%

Jetpack_package

12111

173

0

12284

98.59%

1.41%

优于

11942

570

0

12512

95.44%

4.56%

(2)信创应用中积累了大量测试元素。龙芯浏览器是经过信创实践检验的产品。在服务信创的过程中,在用户现场也积累了大量与应用相关的功能、稳定性、性能、安全方面的问题。这些问题不仅可以确保浏览器新版本的发布有了基础的标准,也为信创后续实施工作的推进提供保障。


2

兼容性



(1)对标准的支持完善。浏览器已经发展成为对标准的支持平台,龙芯浏览器对国际标准的支持完善HTML5跑分高达513分(总分555分),对CSS标准的支持达到87%,其中CSS1、CSS2、CSS3达到100%支持。


(2)支持NPAPI插件标准。浏览器在发展的过程中,因为安全等原因,逐渐在废弃插件技术。在国内,由于历史原因,插件在信创中还在大量使用。龙芯浏览器反向移植NPAPI插件模块,能完整支持如wps、pdf、flashplayer等插件,确保信创工作顺利推进。在所有插件中,flashplayer插件也属于正在被替代的技术,在国内,由于历史原因,flashplayer插件也还在很多地方使用。龙芯浏览器团队与合作伙伴一道,移植了龙芯版的flashplayer插件,支持nanojit、FFMPEG解码、stagevideo的vdpau硬解等特性。能正常播放各网站flash视频、与OA相关的flash操作,如文件上传、文件打印等功能正常。

(3)与应用相结合。在信创的实施过程中,由于是从X86/Windows平台迁移到国产CPU和基于Linux的国产操作系统平台,浏览器也从过去IE应用迁移到基于开源的国产浏览器。在浏览器端,应用的接口标准是有一些差异的。这一方面需要应用按照新的标准进行调整,同时龙芯浏览器也尽可能的做到多接口的支持。如某些用户程序用在onbeforeunload接口中执行showModalDialog方法,在新版的firefox/chromium浏览器中不被支持,因此用户程序会因为无法响应事件导致程序运行出错。龙芯浏览器对这一类接口也进行了反向支持,使得应用迁移能平滑进行。

3

支持国密方案



龙芯浏览器支持SKF标准设备接口支持国密通讯算法。公安部3S、渔翁等单位的国密设备龙芯浏览器完成兼容适配。中创、东方通等中间件与龙芯浏览器完成兼容适配,目前已经形成了完整的前后端、软硬件一体化的国密解决方案


4

性能持续优化



影响Web性能和用户体验的因素很多,龙芯浏览器通过多种途径持续优化,提升性能、提高用户体验。


(1)JS引擎优化。通过对JS引擎JIT编译器的支持,能数量级地提高JS引擎跑分,对于JS密集型的应用,能大幅提高效率。

(2)渲染优化。结合龙芯处理器指令集的特性,对底层渲染库进行深度优化,如skia/jpeg/png/libyuv/pixman/ycbcr等。对图形密集型应用大幅提高效率。通过GPU加速,提高页面合成渲染效率,并支持WebGL等3D功能。

(3)音视频优化。结合龙芯处理器指令集的特性,对底层视音频库进行深度优化,如ffmpeg/vp8/vp9/openh264等。对HTML5 video、WebRTC等音视频应用大幅提高效率。


(4)与应用相结合。通过对应用跑在浏览器上的性能表现,定位耗时模块,指导应用程序有针对性地进行优化,能大幅提高应用程序效率。


5

兼容生态建设



龙芯浏览器一方面支持信创应用的推进,另一方面也承担了生态建设的目标。龙芯浏览器从开源中来,到开源中去,围绕龙芯浏览器,团队目前已经累计向开源社区贡献数十万行基础代码。这些基础代码一方面支持着龙芯浏览器的产品化,另一方面,这些代码可以供360等浏览器厂商共享共用,一起共建浏览器生态。


龙芯浏览器的标准与开源

龙芯浏览器团队积极参与标准化工作,参与制定了《桌面端浏览器软件技术要求》、《桌面端浏览器软件测试规范》等标准草案。浏览器团队也是W3C国际标准组织顾问委员会成员,参与W3C每年的开发者大会以及相关活动。在开源社区,龙芯浏览器团队积极活跃,积极贡献代码,同时也参与社区的管理。


社区

贡献

Chromium社区

MIPS维护者

mozilla社区

MIPS维护者

V8社区

owner

FFMPEG社区

maintainer

libvpx社区

MIPS维护者

openh264社区

MIPS维护者

libyuv社区

MIPS维护者

jpeg社区

MIPS维护者

pixman社区

MIPS维护者


近期向Mozilla和V8社区贡献代码示意图





推荐阅读


“初心薪火相传,使命永担在肩”--云顶书院纵论自主CPU的发展之路

 我们正在前进!龙芯适配联盟覆盖全国!

权威认证!龙芯平台迁移适配认证培训7月18日全面展开!


END


点击“阅读原文”,下载体验龙芯浏览器☟