⚡ Low-latency access to the Windows Desktop Window Manager (DWM). High-precision multimedia timers and VSync synchronization for the FastJava ecosystem.
Java's standard UI loops (Swing/AWT/JavaFX) are completely disconnected from the underlying OS compositor (Desktop Window Manager). This leads to tearing, micro-stutters, and input lag. FastDWM breaks Java out of its sandbox by providing direct JNI access to DwmFlush(), allowing your render loops to perfectly lock onto the physical monitor refresh rate (VSync) with zero allocations. Additionally, it offers direct access to the Windows Multimedia Timer API (timeSetEvent) to request true 1ms scheduling precision from the Windows Kernel, bypassing Java's notoriously inaccurate Thread.sleep().
# Clone the repository
git clone https://github.com/andrestubbe/FastDWM.git
cd FastDWM
# Build and register locally
.\compile.bat
# Run the Drift Test Demo
.\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>
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>fastdwm</artifactId>
<version>v0.1.0</version>
</dependency>
<dependency>
<groupId>com.github.andrestubbe</groupId>
<artifactId>fastcore</artifactId>
<version>v0.1.0</version>
</dependency>
</dependencies>repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.andrestubbe:fastdwm:v0.1.0'
implementation 'com.github.andrestubbe:fastcore:v0.1.0'
}Download the latest JARs directly to add them to your classpath:
- 📦 fastdwm-v0.1.0.jar (The Core Library)
- ⚙️ fastcore-v0.1.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 native timing drift test to showcase the precision:
- Run
compile.batto build the native DLL. - Run
run-demo.batto launch the Drift Test.
- COMPILE.md: Full compilation guide (MSVC C++17 build chain + JNI Setup).
- REFERENCE.md: Full API descriptions, border configurations, and codepoint index.
- PHILOSOPHIE.md: The engineering rationale for zero-allocation performance.
- ROADMAP.md: Future milestones and planned features.
| Platform | Status |
|---|---|
| Windows 10/11 | ✅ Fully Supported |
| Linux | 🚧 Planned |
| macOS | 🚧 Planned |
MIT License — See LICENSE file for details.
- FastFileIndex - Binary file indexing with mmap support
- FastFileSearch - Prefix Trie, N-Gram index, and Ranking engine
- FastFileWatch - USN Journal-based live file monitoring
- FastCore - Unified JNI loader and platform abstraction
Part of the FastJava Ecosystem — Making the JVM faster. Small package. Maximum speed. Zero bloat. 🚀📋
