You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|**FastRobot**| Java's [Robot](https://docs.oracle.com/javase/8/docs/api/java/awt/Robot.html) class is too slow for game bots. FastRobot uses native [SendInput](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendinput) with batch processing for 1000+ events in one call - sub-millisecond reaction times. |
59
+
|**[FastRobot](https://github.com/andrestubbe/FastRobot)**| Java's [Robot](https://docs.oracle.com/javase/8/docs/api/java/awt/Robot.html) class is too slow for game bots. FastRobot uses native [SendInput](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendinput) with batch processing for 1000+ events in one call - sub-millisecond reaction times. |
60
60
|**FastScreen**| Screenshots with [Java.awt](https://docs.oracle.com/javase/8/docs/api/java/awt/package-summary.html) take 50-100ms. FastScreen uses [DXGI Desktop Duplication](https://learn.microsoft.com/en-us/windows/win32/direct3ddxgi/desktop-duplication-api) for 500-2000 FPS zero-copy capture - essential for vision bots. |
61
61
|**FastInput**| Read mouse, keyboard, and [HID](https://en.wikipedia.org/wiki/Human_interface_device) input via [RawInput](https://learn.microsoft.com/en-us/windows/win32/inputdev/raw-input) (non-hooking, non-invasive) for high-frequency input reading. |
62
62
|**FastInputHook**| Global hook counterpart to FastInput — captures ALL low-level events ([SetWindowsHookEx](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowshookexa)) before they reach any application. |
63
63
|**FastVision**|[Java2D](https://docs.oracle.com/javase/8/docs/technotes/guides/2d/spec/j2d-intro.html) is too slow for object detection. FastVision uses [GPU compute shaders](https://learn.microsoft.com/en-us/windows/win32/direct3d11/compute-shaders) for <10ms [template matching](https://docs.opencv.org/4.x/d4/dc6/tutorial_py_template_matching.html) and [feature extraction](https://en.wikipedia.org/wiki/Feature_extraction). |
64
-
|**FastHotkey**| Safe, filtered version — only registered combinations are intercepted, without the invasiveness of global hooks. |
64
+
|**[FastHotkey](https://github.com/andrestubbe/FastHotkey)**| Safe, filtered version — only registered combinations are intercepted, without the invasiveness of global hooks. |
65
65
|**FastGamepad**| No native controller support in Java. FastGamepad reads [XInput](https://learn.microsoft.com/en-us/windows/win32/xinput/getting-started-with-xinput)/[DirectInput](https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ee416842(v=vs.85)) for racing/fighting game bots. |
66
66
|**FastHumanInput**| Unifies all input sources into a single event stream optimized for AI agents and automation pipelines. |
67
67
@@ -71,7 +71,7 @@ FastJava, FastCore, FastPlugin
71
71
|--------|-------------|
72
72
|**FastWindow**| Java cannot control foreign windows. FastWindow finds, focuses, moves windows via [Win32](https://learn.microsoft.com/en-us/windows/win32/apiindex/windows-api-list) - important for multi-window bots. |
73
73
|**FastProcess**| ProcessHandle is too limited. FastProcess reads thread IDs, handle count, real [CPU affinity](https://learn.microsoft.com/en-us/windows/win32/procthread/setting-thread-affinity) for process isolation. |
74
-
|**FastTheme**| Java doesn't know Dark Mode. FastTheme reads [Windows 11 theming](https://learn.microsoft.com/en-us/windows/apps/desktop/modernize/apply-windows-themes) (Dark/Light, Accent, Mica) and adapts Java apps. |
74
+
|**[FastTheme](https://github.com/andrestubbe/FastTheme)**| Java doesn't know Dark Mode. FastTheme reads [Windows 11 theming](https://learn.microsoft.com/en-us/windows/apps/desktop/modernize/apply-windows-themes) (Dark/Light, Accent, Mica) and adapts Java apps. |
75
75
|**FastOverlay**| HUDs over games need transparent overlay windows. FastOverlay uses [DirectX](https://learn.microsoft.com/en-us/windows/win32/directx) for ESPs, debug visuals. |
76
76
|**FastWindowEvents**| Java gets no events when windows are moved. FastWindowEvents notifies when the target window changes. |
77
77
|**FastSystemMetrics**| Mouse speed and drag threshold are only accessible via [Win32](https://learn.microsoft.com/en-us/windows/win32/apiindex/windows-api-list). Important for human-like bot input. |
|**FastGraphics**|[Java2D](https://docs.oracle.com/javase/8/docs/technotes/guides/2d/spec/j2d-intro.html) is unsuitable for 60+ FPS. FastGraphics uses [DirectX](https://learn.microsoft.com/en-us/windows/win32/directx)/[Vulkan](https://www.vulkan.org/) for GPU rendering without JVM heap. |
87
-
|**FastImage**| BufferedImage allocates 200-300MB heap. FastImage uses ByteBuffer off-heap for fast pixel operations. |
88
-
|**FastImageView**| JFrame with image is slow. FastImageView renders 1:1 pixels in 200ms startup time for debugging. |
86
+
|**[FastGraphics](https://github.com/andrestubbe/FastGraphics)**|[Java2D](https://docs.oracle.com/javase/8/docs/technotes/guides/2d/spec/j2d-intro.html) is unsuitable for 60+ FPS. FastGraphics uses [DirectX](https://learn.microsoft.com/en-us/windows/win32/directx)/[Vulkan](https://www.vulkan.org/) for GPU rendering without JVM heap. |
87
+
|**[FastImage](https://github.com/andrestubbe/FastImage)**| BufferedImage allocates 200-300MB heap. FastImage uses ByteBuffer off-heap for fast pixel operations. |
88
+
|**[FastImageView](https://github.com/andrestubbe/FastImageView)**| JFrame with image is slow. FastImageView renders 1:1 pixels in 200ms startup time for debugging. |
89
89
|**FastDisplay**| Displays [framebuffer](https://en.wikipedia.org/wiki/Framebuffer) directly without copy. Foundation for all GPU rendering modules. |
90
90
|**FastColorSearch**| Pixel loops in Java are 100x too slow. FastColorSearch uses [SIMD](https://en.wikipedia.org/wiki/SIMD) ([SSE](https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions)/[AVX](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions)) for 10GB/s pattern matching. |
91
91
92
92
### Data & I/O
93
93
94
94
| Module | Explanation |
95
95
|--------|-------------|
96
-
|**FastIO**| Java NIO has too much overhead for real-time. FastIO uses unbuffered I/O and [IOCP](https://learn.microsoft.com/en-us/windows/win32/fileio/i-o-completion-ports) for constant latency. |
96
+
|**[FastIO](https://github.com/andrestubbe/FastIO)**| Java NIO has too much overhead for real-time. FastIO uses unbuffered I/O and [IOCP](https://learn.microsoft.com/en-us/windows/win32/fileio/i-o-completion-ports) for constant latency. |
97
97
|**FastMemoryScan**| For modding and reverse engineering: reads foreign process memory for [pattern scans](https://guidedhacking.com/threads/signature-scanning-tutorial.12132/) and [pointer chains](https://guidedhacking.com/threads/pointer-scanning-tutorial.12170/). |
98
98
|**FastGPUCopy**| GPU↔CPU transfers are the bottleneck in ML pipelines. FastGPUCopy uses [DMA](https://en.wikipedia.org/wiki/Direct_memory_access) for [zero-copy](https://en.wikipedia.org/wiki/Zero-copy). |
99
99
|**FastIPC**|[Shared memory](https://en.wikipedia.org/wiki/Shared_memory) and [named pipes](https://learn.microsoft.com/en-us/windows/win32/ipc/named-pipes) for separation of bot engine and AI model - both run isolated. |
100
-
|**FastClipboard**| Java's Clipboard is buggy. FastClipboard uses native APIs for stable copy/paste. |
100
+
|**[FastClipboard](https://github.com/andrestubbe/FastClipboard)**| Java's Clipboard is buggy. FastClipboard uses native APIs for stable copy/paste. |
|**FastPlugin**| Plugin system for 3rd-party modules. Hot-reload and API registry. |
182
182
183
183
---
@@ -208,7 +208,7 @@ Windows **RawInput API** delivers mouse and keyboard in the **same callback loop
208
208
|--------|------------|---------------|
209
209
| FastInput |[RawInput](https://learn.microsoft.com/en-us/windows/win32/inputdev/raw-input), Hooks | Reads user input |
210
210
| FastRobot |[SendInput](https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendinput), [DirectInput](https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ee416842(v=vs.85))| Sends output to PC |
0 commit comments