Font Size: a A A

The Vector Optimization Of Firefox Browser Graphics Library Based On Loongson Platform

Posted on:2021-03-20Degree:MasterType:Thesis
Country:ChinaCandidate:Y Y ChengFull Text:PDF
GTID:2428330629980319Subject:Integrated circuit engineering
Abstract/Summary:PDF Full Text Request
General-purpose processors are closely related to the basic software running on them and need to develop in parallel.However,the research and designment of basic software will involve a lot of knowledge about processor hardware,which will bring some difficulties to developers.Therefore,it is usually necessary for processor manufacturers to provide the underlying basic software support.The Loongson processor is an independent and controllable domestic processor based on the MIPS architecture.Compared with the ARM and Intel architecture,there are currently outstanding problems that the application is not rich enough and the software ecosystem is not sound enough,which will undoubtedly limit the promotion and application of Loongson processors.As the core API software for desktop applications of general-purpose processors,the browser is one of the most basic core software platforms.Loongson platform chooses Firefox browser as the default browser.When it runs stably,performance problems are undoubtedly the top priority of the next work,which determines the user experience of the desktop to some extent.In order to improve the performance of browser multimedia applications,the main work and innovations of this thesis are as follows:(1)SIMD technology significantly improves the efficiency of program execution through the parallel operation of data,and uses the compiler intrinsic interface to achieve Skia vector optimization based on the MSA instruction set.Aiming at the features of the functions in the Skia library and the limitations of the MSA instruction set,the code reconstruction of several functions is convenient for vectorization,and the branch instruction delay is reduced as much as possible.Aiming at the problem of vector floating point exception,a method is proposed to realize the fast conversion of floating point binary to decimal,which is easy to debug.At the same time solve the problems of symbol expansion and compilation support encountered in development.(2)The hand-written assembly code has high execution efficiency,and the data operation in LibYUV has the characteristics of small integer saturation,which realizes the optimization of the assembly of LibYUV based on the Loongson multimedia instructions.Thanks to the large register file of Loongson processor,the function calculation is greatly reduced by constant preloading and then checking the register method;combined with the characteristics of multimedia instructions,such as saturation processing,fusion multiply-add and other instructions,another round of algorithm-level optimization is performed for special functions to fully tap the hardware potential.Design interface adaptive optimization algorithm to reduce the performance loss caused by non-aligned storage;analyze and solve the invert mode problem;sort out and modify the configure process of the Firefox compilation system,so that the compilation system can automatically detect and configure system environment information to prevent compilation errors caused by inconsistent specifications.Finally,the performance test was carried out from the two dimensions of independent library and integration to the browser.The results show that using Loongson SIMD technology can make the Firefox browser multimedia application have higher performance.Related work results have been pushed to the Google open source community.
Keywords/Search Tags:Loongson Processor, Firefox Browser, Skia, LibYUV, Vector Optimization
PDF Full Text Request
Related items