A high-performance animation and timeline engine for the FastJava ecosystem. Built for zero-latency UI transitions and complex motion graphics.
- ⚡ High-Precision Timing: Sub-millisecond animation updates using a dedicated engine thread.
- 📈 Timeline Management: Complex keyframe sequences and concurrent track orchestration.
- 📦 Zero GC Pressure: Reusable animation instances and optimized data structures.
- 🖇️ Ecosystem Ready: Seamlessly integrates with FastTween for interpolation.
# Clone the repository
git clone https://github.com/andrestubbe/FastAnimation.git
cd FastAnimation
# Build the project
.\compile.bat
# Run the Performance Showcase (Battle of the Timers)
.\run-demo.batAdd the JitPack repository and the dependencies to your pom.xml:
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
<dependencies>
<!-- FastAnimation Library -->
<dependency>
<groupId>io.github.andrestubbe</groupId>
<artifactId>fastanimation</artifactId>
<version>0.1.0</version>
</dependency>
<!-- Dependencies -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>fasttween</artifactId>
<version>0.1.0</version>
</dependency>
<!-- FastCore (Required Native Loader) -->
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>fastcore</artifactId>
<version>v1.0.0</version>
</dependency>
</dependencies>repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'io.github.andrestubbe:fastanimation:0.1.0'
implementation 'com.github.andrestubbe:fasttween:0.1.0'
implementation 'com.github.andrestubbe:fastcore:v1.0.0'
}Download the latest JARs directly to add them to your classpath:
- 📦 fastanimation-v0.1.0.jar (The Core Library)
- ⚙️ fastcore-v1.0.0.jar (The Mandatory Native Loader)
Important
All JARs must be in your classpath for the native JNI calls to function correctly.
We've included a comprehensive performance benchmark to compare different timing engines:
- Run
compile.batto build the engine. - Run
run-demo.batto launch the Battle of the Timers.
- JDK 17+
- Maven 3.9+
- Windows 10/11
See COMPILE.md for detailed build instructions.
- Battle of the Timers: Implementation of the high-precision backend comparison.
- Native Multimedia Ticker: JNI-based
timeSetEventintegration for Windows. - DirectX VSync Provider: Syncing animation frames with the monitor refresh rate via FastDWM.
See ROADMAP.md for detailed implementation plans.
MIT License — See LICENSE for details.
Part of the FastJava Ecosystem — Making the JVM faster.