u/Acceptable_Ad_4425

Question about Benchmarking Performance

Hello anyone, I'm sorry if this is a stupid question in this space, but I'm working on on a mobile notes canvas/engine and am trying to experiment with using Skia w/ Ganesh to render my strokes when I had been using SkSurface w/ raster strokes.

My question is what is the best way to benchmark performance when testing different stacks like this? To me I cannot notice too much of a difference in terms of feel, but I feel like there should be a way to systematically measure latency, memory stability, etc.

I know that I can look at instrumentation w/ xcode, but are there any other standard workflows in graphics programming besides manually inspecting the recordings?

reddit.com
u/Acceptable_Ad_4425 — 2 days ago

Feedback and thoughts on inifinite notes canvas package

Hello everyone! After about a year I'm very excited to get my most difficult and frustrating project to a point where I'm finally confident to open-source.

Basically I wanted to build a notes app but there was no high-performance drawing canvas package at all. Everything was a small toy canvas but nothing near Notability/Goodnotes level.

This has been very difficult to build, and I have to solved all sorts of issues with native rendering, pencil latency, eraser behavior, page virtualization, preview caching, memory stability, feature-completeness, page interactivity, etc. There are some more examples in the repo if you want to check it out. Of course, it can still be improved as this is a very difficult project!

Right now you can write hundreds of pages of notes/drawings with solid performance, and there are advanced features like snap-to-shape, several tools, custom and pdf backgrounds, smooth scrolling and zooming, primitives for figure, image, and text inserts, lasso select, and more.

I would love for this to eventually be a community effort to build something currently only a few closed-source apps have perfected.

The package is iOS + React Native first right now. There is an example app in the repo that you can run to test it out. Here are the links to the GitHub and npm package.

I would love it if anyone has any feedback, or wants to contribute, especially if you have ever worked on anything similar and understand the pain that comes with working on it😭!

GitHub: https://github.com/mathnotes-app/mobile-ink

npm: www.npmjs.com/package/@mathnotes/mobile-ink

u/Acceptable_Ad_4425 — 5 days ago

Open Source Mobile Notes Engine

Hello everyone! After about a year I'm very excited to get my most difficult and frustrating project to a point where I'm finally confident to open-source.

It is a high-performance drawing canvas for React Native. I started this because there is not a viable open-source option for a mobile notes implementation.

There are some very small demo canvasses, but if you want to get anywhere near Notability/GoodNotes-level interaction, there are all sorts of issues with native rendering, pencil latency, eraser behavior, page virtualization, preview caching, memory stability, feature-completeness, page interactivity, etc. that none of those repos address.

Thus, the goal of this project is to make something that can support real notes-app workload features and also implements them without the JS completely stalling or native memory growing forever. I would love for this to eventually be a community effort to build something currently only a few closed-source apps have perfected.

The package is iOS + React Native first right now. I actually do have some Android code but have not tested it enough to release it yet.

I would love it if anyone has any feedback, or wants to contribute m, especially if you have ever worked on anything similar and understand the pain that comes with working on it😭!

github.com
u/Acceptable_Ad_4425 — 6 days ago