Skip to content

Conversation

ayush-badola
Copy link

In this PR, I have created a new branch for integrating Skia-Canvas and have also added one test case in a new test. The test file is named "skia-canvas.js".

Now, user can specify the 'engine' he wants to use. The 3 options for 'engine' are puppeteer, playwright and Skia-Canvas.

The main difficulty was to isolate parts of the code for puppeteer and playwright and then write an entirely new code for the functions of Skia-Canvas as the working of Skia is entirely different.
One major problem which I faced was the centering of the graph. The graph Skia generated was not centered and neither was zoomed. To solve this, I had to re-write the whole implementation of Skia to make sure to draw the graph manually, from center.
Using this method, the workaround for Skia-Canvas was made successful.

Also, I encountered some issue with playwright's grid layout, which now has been resolved.

I have also added benchmarks in every test, which clearly shows the extra ordinary performance of playwright and Skia-Canvas regarding the rendering time and memory used.

@maxkfranz
Copy link
Member

You're welcome to post and update a PR like this one, but we won't be going forward with next steps until if and when a GSOC student is selected.

While PRs like this can provide some additional information with your application, each application will be evaluated individually to be fair to all applicants.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants