Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tests on project core components #728

Open
ologbonowiwi opened this issue Sep 24, 2023 · 2 comments
Open

Add tests on project core components #728

ologbonowiwi opened this issue Sep 24, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@ologbonowiwi
Copy link

ologbonowiwi commented Sep 24, 2023

Description

I've opened to this issue for this track discussions regarding tests!

What are the most critical parts of the project to have tests on?

I know that this issue is probably something that'll grow and grow (because, probably, there are a lot of places to test), but I'm bringing this up to discuss stuff like test cases that should be implemented, what are the kind of tests you think are most important to the project now (unit, integration, or e2e), and tooling that we could use to accomplish so.

I have plenty of experience with testing, so this is something that I could sum up for the project.

@ologbonowiwi ologbonowiwi added the enhancement New feature or request label Sep 24, 2023
@AdrianEddy
Copy link
Collaborator

Sorry for late response, I've been super busy with getting the mobile apps to usable state.
To be honest, I think what we need are benchmarks rather than tests. There weren't many regressions in the past and writing tests for core functionality will be a lot of work with little benefit. I think writing benchmarks instead and trying to optimize performance and/or memory usage will be much more beneficial

Places to benchmark:

  1. Gyro data parsing
  2. Gyro integration
  3. Calculating frame transform
  4. Calculating FOVs for zooming
  5. Smoothing algorithm
  6. Definitely GPU kernels - we can focus on the SPIR-V implementation, because other ones will probably be replaced by this one soon

There's also the UI (in QML), which can also be profiled and optimized, but not sure how to write automated benchmarks for that

@AdrianEddy
Copy link
Collaborator

AdrianEddy commented Sep 30, 2023

Also, rendering time! There was just a rendering performance regression after ffmpeg update, and it was significant (40% slower!).
I didn't notice it for a few weeks until just now when I compared previous version for some other test.
Having rendering time benchmark will definitely be needed.

The regression was inside ffmpeg, so not related to Gyroflow code, but if we had it automated it would be visible right away

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

No branches or pull requests

2 participants