rainyl / opencv_dart

OpenCV bindings for Dart language and Flutter. Support Asynchronous Now!
https://pub.dev/packages/opencv_dart
Apache License 2.0
136 stars 18 forks source link

Adding the libs sizes to the docs #276

Closed abdelaziz-mahdy closed 3 weeks ago

abdelaziz-mahdy commented 3 weeks ago

Is your feature request related to a problem? Please describe. since now the packages are split people would like to know how the size of the app will be affected using each of the packages

Describe the solution you'd like adding a table in the docs showing the size of the lib for each platform

Describe alternatives you've considered maybe making a workflow with app without the lib and comparing its size after adding the lib?

Additional context

rainyl commented 3 weeks ago

@abdelaziz-mahdy Making sense.

For now the only difference between opencv_core and opencv_dart is the videoio module (I am going to remove highgui from the two packages, since highgui is meaningless for Flutter), so the increased app size includes videoio module and ffmpeg, we can just build and compare the size and add a table in README (maybe in the section Status of after that).

I am kind of busy these days, so could you please work on this when you are free?

abdelaziz-mahdy commented 3 weeks ago

Will try to make an example workflow but due to the local build stuff It may take time to make sure it's correctly configured

I think a workaround of using the release builds if the local build configuration is not set will be great, will try and let you know

rainyl commented 3 weeks ago

I think a workaround of using the release builds if the local build configuration is not set will be great, will try and let you know

Do you mean that downloading prebuilt libs from the releases as before? It's applicable but I am just tired to maintain them, if it is supported, we will need to build $$2(core, dart)\times \langle 3(win,linux,mac)\times 2(x64,arm64) + 3(android) + 2(ios)\rangle=22$$ libraries, and if it is necessary to split objdetect (an increase of 6M in size on windows) and dnn (~5.4M) in the future, more libs will be needed, it's kind of crazy...

And especially for ios, it is now depends on DartCvIOS published to Cocoapods, meaning it has to be built locally.

abdelaziz-mahdy commented 3 weeks ago

Understandable then, let's leave the local build and see if people have any problems with it