Skip to content

Releases: b3ll/Motion

Release v0.1.5

10 Apr 08:01
d0439dd
Compare
Choose a tag to compare
Use Arm64 Image for GitHub Actions

Release v0.1.4

04 Feb 19:53
3b12eaa
Compare
Choose a tag to compare
Fix Actions

Release v0.1.3

20 Jan 02:49
6c9cd2a
Compare
Choose a tag to compare
Merge pull request #26 from b3ll/dev/b3ll/invalid_caframeraterange

Fix Issue with Devices Reporting Erroneous Maximum Refresh Rates

Release v0.1.2

10 Nov 03:43
052d056
Compare
Choose a tag to compare
Fix swift-build-xcframework errors

Release v0.1.0

23 May 15:33
19a596a
Compare
Choose a tag to compare
Merge pull request #19 from rosskimes/main

Updated swift-numerics to v1.0.0.

Release v0.0.9

09 Mar 18:43
a55d2ab
Compare
Choose a tag to compare
Merge pull request #17 from jessegrosjean/main

Break retain cycle between Animator and Driver

Release v0.0.8

12 Feb 21:06
260f783
Compare
Choose a tag to compare
Merge pull request #14 from b3ll/open_animation

Move Animation to be open

Release v0.0.7

20 Dec 19:29
Compare
Choose a tag to compare
Update Release Action

Release v0.0.6

20 Dec 18:40
fee885b
Compare
Choose a tag to compare
  • Epsilon for spring resolution can now be specified
  • Debug builds should be much faster as specializations are conditionally compiled based on Debug / Release
  • Note: This means debug builds will animate more "slowly", but it shouldn't be as noticeable unless you're doing >100 animations simultaneously.

Debug Benchmark Results

SIMD SpringAnimations.Execute 5000 CGFloat SpringAnimations         21.518 ms ±   0.23 %         20
SIMD SpringAnimations.Execute 5000 Float SpringAnimations           21.508 ms ±   0.25 %         20
SIMD SpringAnimations.Execute 5000 Double SpringAnimations          21.479 ms ±   0.27 %         20
SIMD SpringAnimations.Execute 5000 CGPoint SpringAnimations         21.495 ms ±   0.29 %         20
SIMD SpringAnimations.Execute 5000 CGSize SpringAnimations          21.515 ms ±   1.46 %         20
SIMD SpringAnimations.Execute 5000 SIMD2<Float> SpringAnimations    21.664 ms ±   2.37 %         20
SIMD SpringAnimations.Execute 5000 SIMD2<Double> SpringAnimations   21.654 ms ±   3.34 %         20
SIMD SpringAnimations.Execute 5000 CGRect SpringAnimations          36.023 ms ±   0.38 %         20
SIMD SpringAnimations.Execute 5000 SIMD4<Float> SpringAnimations    33.058 ms ±   0.21 %         20
SIMD SpringAnimations.Execute 5000 SIMD4<Double> SpringAnimations   36.017 ms ±   0.26 %         20
SIMD SpringAnimations.Execute 5000 SIMD8<Float> SpringAnimations    59.908 ms ±   0.26 %         20
SIMD SpringAnimations.Execute 5000 SIMD8<Double> SpringAnimations   57.198 ms ±   1.03 %         20
SIMD SpringAnimations.Execute 5000 SIMD16<Float> SpringAnimations  102.920 ms ±   0.19 %         20
SIMD SpringAnimations.Execute 5000 SIMD16<Double> SpringAnimations 104.897 ms ±   0.18 %         20
SIMD SpringAnimations.Execute 5000 SIMD32<Float> SpringAnimations  204.714 ms ±   0.33 %         20
SIMD SpringAnimations.Execute 5000 SIMD32<Double> SpringAnimations 219.706 ms ±   0.50 %         20
SIMD SpringAnimations.Execute 5000 SIMD64<Float> SpringAnimations  430.118 ms ±   0.24 %         20
SIMD SpringAnimations.Execute 5000 SIMD64<Double> SpringAnimations 520.022 ms ±   0.65 %         20
SIMD BasicAnimations.Execute 5000 CGFloat BasicAnimations           25.605 ms ±   0.12 %         20
SIMD BasicAnimations.Execute 5000 Float BasicAnimations             25.523 ms ±   0.29 %         20
SIMD BasicAnimations.Execute 5000 Double BasicAnimations            25.629 ms ±   0.23 %         20
SIMD BasicAnimations.Execute 5000 CGPoint BasicAnimations           25.607 ms ±   0.72 %         20
SIMD BasicAnimations.Execute 5000 CGSize BasicAnimations            25.607 ms ±   0.19 %         20
SIMD BasicAnimations.Execute 5000 SIMD2<Float> BasicAnimations      25.518 ms ±   0.30 %         20
SIMD BasicAnimations.Execute 5000 SIMD2<Double> BasicAnimations     25.579 ms ±   0.21 %         20
SIMD BasicAnimations.Execute 5000 CGRect BasicAnimations            37.380 ms ±   0.20 %         20
SIMD BasicAnimations.Execute 5000 SIMD4<Float> BasicAnimations      36.088 ms ±   1.05 %         20
SIMD BasicAnimations.Execute 5000 SIMD4<Double> BasicAnimations     38.007 ms ±   0.17 %         20
SIMD BasicAnimations.Execute 5000 SIMD8<Float> BasicAnimations      58.354 ms ±   0.11 %         20
SIMD BasicAnimations.Execute 5000 SIMD8<Double> BasicAnimations     57.687 ms ±   0.33 %         20
SIMD BasicAnimations.Execute 5000 SIMD16<Float> BasicAnimations     99.497 ms ±   0.30 %         20
SIMD BasicAnimations.Execute 5000 SIMD16<Double> BasicAnimations    99.983 ms ±   0.18 %         20
SIMD BasicAnimations.Execute 5000 SIMD32<Float> BasicAnimations    184.365 ms ±   0.16 %         20
SIMD BasicAnimations.Execute 5000 SIMD32<Double> BasicAnimations   189.755 ms ±   0.28 %         20
SIMD BasicAnimations.Execute 5000 SIMD64<Float> BasicAnimations    360.827 ms ±   0.27 %         20
SIMD BasicAnimations.Execute 5000 SIMD64<Double> BasicAnimations   394.734 ms ±   0.14 %         20
SIMD DecayAnimations.Execute 5000 CGFloat DecayAnimations            8.754 ms ±   4.19 %         20
SIMD DecayAnimations.Execute 5000 Float DecayAnimations              9.067 ms ±   3.14 %         20
SIMD DecayAnimations.Execute 5000 Double DecayAnimations             8.729 ms ±   1.17 %         20
SIMD DecayAnimations.Execute 5000 CGPoint DecayAnimations            8.766 ms ±   0.82 %         20
SIMD DecayAnimations.Execute 5000 CGSize DecayAnimations             8.746 ms ±   0.55 %         20
SIMD DecayAnimations.Execute 5000 SIMD2<Float> DecayAnimations       8.717 ms ±   0.41 %         20
SIMD DecayAnimations.Execute 5000 SIMD2<Double> DecayAnimations      8.752 ms ±   0.75 %         20
SIMD DecayAnimations.Execute 5000 CGRect DecayAnimations            13.869 ms ±   0.73 %         20
SIMD DecayAnimations.Execute 5000 SIMD4<Float> DecayAnimations      13.066 ms ±   0.37 %         20
SIMD DecayAnimations.Execute 5000 SIMD4<Double> DecayAnimations     13.866 ms ±   0.31 %         20
SIMD DecayAnimations.Execute 5000 SIMD8<Float> DecayAnimations      22.667 ms ±   0.24 %         20
SIMD DecayAnimations.Execute 5000 SIMD8<Double> DecayAnimations     22.138 ms ±   0.67 %         20
SIMD DecayAnimations.Execute 5000 SIMD16<Float> DecayAnimations     39.300 ms ±   0.19 %         20
SIMD DecayAnimations.Execute 5000 SIMD16<Double> DecayAnimations    39.926 ms ±   0.24 %         20
SIMD DecayAnimations.Execute 5000 SIMD32<Float> DecayAnimations     75.508 ms ±   0.18 %         20
SIMD DecayAnimations.Execute 5000 SIMD32<Double> DecayAnimations    78.951 ms ±   0.20 %         20
SIMD DecayAnimations.Execute 5000 SIMD64<Float> DecayAnimations    153.052 ms ±   0.18 %         20
SIMD DecayAnimations.Execute 5000 SIMD64<Double> DecayAnimations   171.143 ms ±   1.76 %         20

Release Benchmark Results

SIMD SpringAnimations.Execute 5000 CGFloat SpringAnimations          1.079 ms ±   2.52 %         20
SIMD SpringAnimations.Execute 5000 Float SpringAnimations            1.079 ms ±   2.72 %         20
SIMD SpringAnimations.Execute 5000 Double SpringAnimations           1.094 ms ±   7.36 %         20
SIMD SpringAnimations.Execute 5000 CGPoint SpringAnimations          1.121 ms ±   3.24 %         20
SIMD SpringAnimations.Execute 5000 CGSize SpringAnimations           1.120 ms ±   6.13 %         20
SIMD SpringAnimations.Execute 5000 SIMD2<Float> SpringAnimations     1.065 ms ±   3.69 %         20
SIMD SpringAnimations.Execute 5000 SIMD2<Double> SpringAnimations    1.053 ms ±   1.33 %         20
SIMD SpringAnimations.Execute 5000 CGRect SpringAnimations           1.155 ms ±   3.56 %         20
SIMD SpringAnimations.Execute 5000 SIMD4<Float> SpringAnimations     1.099 ms ±   1.85 %         20
SIMD SpringAnimations.Execute 5000 SIMD4<Double> SpringAnimations    1.128 ms ±   2.08 %         20
SIMD SpringAnimations.Execute 5000 SIMD8<Float> SpringAnimations     1.151 ms ±   2.43 %         20
SIMD SpringAnimations.Execute 5000 SIMD8<Double> SpringAnimations    1.150 ms ±   3.12 %         20
SIMD SpringAnimations.Execute 5000 SIMD16<Float> SpringAnimations    1.310 ms ±   2.53 %         20
SIMD SpringAnimations.Execute 5000 SIMD16<Double> SpringAnimations   1.375 ms ±   1.98 %         20
SIMD SpringAnimations.Execute 5000 SIMD32<Float> SpringAnimations   19.382 ms ±   1.26 %         20
SIMD SpringAnimations.Execute 5000 SIMD32<Double> SpringAnimations  33.449 ms ±   1.30 %         20
SIMD SpringAnimations.Execute 5000 SIMD64<Float> SpringAnimations   72.010 ms ±   0.55 %         20
SIMD SpringAnimations.Execute 5000 SIMD64<Double> SpringAnimations 148.179 ms ±   2.11 %         20
SIMD BasicAnimations.Execute 5000 CGFloat BasicAnimations            5.930 ms ±   5.08 %         20
SIMD BasicAnimations.Execute 5000 Float BasicAnimations              5.899 ms ±   3.25 %         20
SIMD BasicAnimations.Execute 5000 Double BasicAnimations             6.113 ms ±   3.91 %         20
SIMD BasicAnimations.Execute 5000 CGPoint BasicAnimations            5.942 ms ±   2.48 %         20
SIMD BasicAnimations.Execute 5000 CGSize BasicAnimations             5.868 ms ±   3.63 %         20
SIMD BasicAnimations.Execute 5000 SIMD2<Float> BasicAnimations       6.022 ms ±   2.91 %         20
SIMD BasicAnimations.Execute 5000 SIMD2<Double> BasicAnimations      6.115 ms ±   2.98 %         20
SIMD BasicAnimations.Execute 5000 CGRect BasicAnimations             9.531 ms ±   2.59 %         20
SIMD BasicAnimations.Execute 5000 SIMD4<Float> BasicAnimations       8.652 ms ±   2.75 %         20
SIMD BasicAnimations.Execute 5000 SIMD4<Double> BasicAnimations      9.523 ms ±   2.99 %         20
SIMD BasicAnimations.Execute 5000 SIMD8<Float> BasicAnimations      15.456 ms ±   1.64 %         20
SIMD BasicAnimations.Execute 5000 SIMD8<Double> BasicAnimations     15.152 ms ±   2.10 %         20
SIMD BasicAnimations.Execute 5000 SIMD16<Float> BasicAnimations     27.425 ms ±   1.16 %         20
SIMD BasicAnimations.Execute 5000 SIMD16<Double> BasicAnimations    27.727 ms ±   1.37 %         20
SIMD BasicAnimations.Execute 5000 SIMD32<Float> BasicAnimations     54.882 ms ±   0.69 %         20
SIMD BasicAnimations.Execute 5000 SIMD32<Double> BasicAnimations    59.237 ms ±   0.91 %         20
SIMD BasicAnimations.Execute 5000 SIMD64<Float> BasicAnimations    115.352 ms ±   0.61 %         20
SIMD BasicAnimations.Execute 5000 SIMD64<Double> BasicAnimations   138.727 ms ±   0.23 %         20
SIMD DecayAnimations.Execute 5000 CGFloat DecayAnimations            0.653 ms ±   1.57 %         20
SIMD DecayAnimations.Execute 5000 Float DecayAnimations              0.630 ms ±   1.02 %         20
SIMD DecayAnimations.Execute 5000 Double DecayAnimations             0.652 ms ±   1.01 %         20
SIMD DecayAnimations.Execute 5000 CGPoint DecayAnimations            0.652 ms ±   1.01 %         20
SIMD DecayAnimations.Execute 5000 CGSize DecayAnimations             0.653 ms ±   1.24 %         20
SIMD De...
Read more

Release v0.0.5

06 Jan 04:39
Compare
Choose a tag to compare
Ensure DecayAnimation Completion Block is Called Only Once. Fixes #1