-
Notifications
You must be signed in to change notification settings - Fork 59
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
Some blending modes are extremely slow #156
Comments
Is there a way I can run the skia versions? |
It's not trivial, here is how I'm building it on Linux: git clone https://skia.googlesource.com/skia.git
cd skia
git fetch --all
git checkout -b m85 origin/chrome/m85
python2 tools/git-sync-deps # python3 will not work
bin/gn gen out/Shared --args='
is_official_build=false
is_component_build=true
is_debug=false
cc="clang"
cxx="clang++"
extra_cflags_cc=["-march=native", "-DSK_FORCE_RASTER_PIPELINE_BLITTER"]
werror=false
paragraph_gms_enabled=false
paragraph_tests_enabled=false
skia_enable_android_utils=false
skia_enable_discrete_gpu=false
skia_enable_gpu=false
skia_enable_nvpr=false
skia_enable_particles=false
skia_enable_pdf=false
skia_enable_skottie=false
skia_enable_skrive=false
skia_enable_skshaper=false
skia_enable_sksl_interpreter=false
skia_enable_skvm_jit=false
skia_enable_tools=false
skia_use_expat=false
skia_use_gl=false
skia_use_harfbuzz=false
skia_use_icu=false
skia_use_libgifcodec=false
skia_use_libheif=false
skia_use_libjpeg_turbo_decode=false
skia_use_libjpeg_turbo_encode=false
skia_use_libwebp_decode=false
skia_use_libwebp_encode=false
skia_use_lua=false
skia_use_piex=false'
ninja -C out/Shared PS; yes, you must use clang, otherwise it's pointless. |
Benchmarks can be found here: tiny-skia/benches |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I've finally run benchmarks for all blending modes.
Code:
Results sorted by raqote performance, descending:
PS: surprisingly, cairo is also extremely slow.
PSS: afaiu, we cannot reach Skia's performance in Rust, because it doesn't support clang's vector extensions.
PSSS: cairo and skia are built with
-march=native
andraqote
is built with-Ctarget-cpu=native
.znver2
to be more precise.The text was updated successfully, but these errors were encountered: