lvgl: CI for regression in performance
Introduce the problem
Now we have no indication if performance drops due to a new feature
Examples and cases
For example the new layer based method to correctly blend object with opacity, or non-normal blend mode and to rotate widgets surely introduced performance drop in some cases. But it’d be great to know by an objective measurement what is the rate of this drop and whether the unaffected drawing tasks are really unaffected.
Suggested solution
I cached up with Daniel, the main contributor of SO3, which is basically an operating system with QEMU support. All the uboot, qemu and user code stuff can be compiled an initialized with a few command line instructions. The only interesting dependency is Linaro. In QEMU we can use the standard gettimeofday()
function to measure the execution time of special tasks like:
- draw various primitives
- draw full widgets
- malloc fetures
- style related stuff
- etc
All we need is a CI which tests the mentioned cases.
@embeddedt if I provide the list of commands could you set up a CI for this? For now, I think it’d be enough to have a single run with a main.c
file to test all the cases we need.
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 65 (31 by maintainers)
Great! I will do that.
Still ongoing, I will make some progress by the next week-end.
Will be updated be end of February hopefully with the new release of SO3 to be used for the CI.
Still in development. We expect more details in a few days.
@kisvegabor please check this
https://resources.github.com/devops/actions/arm-virtual-hardware/
Still working on int. We should have something in the coming days.
I’m doing progress on SO3 docker containerization. The final image should be less than 1GB. I just need more time to achieve since I’m very busy these days.