Inspiration
The rising costs of modern GPUs make it increasingly difficult for the average person to keep up with the demands of newer games. While upscaling technologies offer massive performance boosts, advanced, hardware-accelerated frame generation (like DLSS 3) is locked behind the newest graphics cards, leaving older or budget-friendly GPUs (like the GTX and RTX 20 series) behind. This gap inspired me to build AIFrameEngine to bring smoother gameplay to a wider range of hardware.
What it does
AIFrameEngine is a real-time frame generator and upscaler designed to improve gaming performance on lower-end devices. It functions as a custom compositor, utilizing RIFE (Real-Time Intermediate Flow Estimation) for frame interpolation alongside bicubic and FSR EASU algorithms for spatial upscaling, effectively bridging the gap for hardware that doesn't natively support modern frame generation.
How i built it
This project was a month-long endeavor and my first time tackling a systems-level architecture of this scale. I built a standalone C++ compositor executable that performs real-time frame capture and execution using Windows Graphics Capture and Direct3D 11. To drive the AI models, I leveraged DirectML and ONNX Runtime to execute the RIFE and upscaling algorithms. I immersed myself in research, utilizing AI tools, video tutorials, and peer guidance to piece together this complex pipeline.
Challenges i ran into
Diving into low-level systems programming as a beginner came with a steep learning curve. I encountered numerous bugs, memory management hurdles, and performance bottlenecks. Furthermore, balancing latency with visual fidelity is a highly complex problem. Currently, the engine is not a complete replacement for commercial technologies like Lossless Scaling or native DLSS/FSR, as it introduces some added latency and only a minimal increase in overall sharpness.
Accomplishments that im proud of
Completing a working proof-of-concept for my very first large-scale systems project is a massive milestone. Navigating the intricacies of graphics APIs, hardware-accelerated AI execution, and background ONNX inference from scratch was daunting, but successfully tying them together into a functional compositor was incredibly rewarding.
What i learned
Grappling with low-level bugs forced me to adopt a much more rigorous approach to debugging. I learned how to anticipate edge cases, implement comprehensive exception handlers, and use methodical test runs to pinpoint root causes efficiently. Overall, this project helped me mature significantly as a programmer and gave me invaluable hands-on engineering experience.
What's next for AIFrameEngine
While the engine has room for improvement regarding latency and image clarity, I believe this hybrid approach has massive potential. Future research and development will focus on optimizing the pipeline to reduce input lag and refine the upscaling algorithms, pushing it closer to a viable, lightweight alternative for budget gamers.
Built With
- c
- c++
- cmake
- directml
- directx
- fsr
- machine-learning
- onnx
- python
- rife
Log in or sign up for Devpost to join the conversation.