# pancaketas/lsfg-vk

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pancaketas-lsfg-vk).**

4,097 stars · 96 forks · C++ · gpl-3.0

## Links

- GitHub: https://github.com/PancakeTAS/lsfg-vk
- Homepage: https://discord.gg/losslessscaling
- awesome-repositories: https://awesome-repositories.com/repository/pancaketas-lsfg-vk.md

## Topics

`frame-generation` `linux` `losslessscaling` `lsfg` `steamdeck` `vulkan`

## Description

lsfg-vk is a Vulkan-based frame generation tool and graphics middleware designed to increase perceived frame rates in graphics applications. It implements a lossless scaling algorithm to insert generated frames between rendered ones, increasing motion smoothness without reducing image quality.

The project features a dedicated programming interface for integrating frame generation logic into external applications and includes an application profile manager. This manager allows specific generation settings to be assigned to individual executables, automating configuration upon application startup.

The software includes tools for GPU performance benchmarking to measure frame generation efficiency and rendering speeds. It further provides capabilities for custom graphics profiling and the adjustment of visual output through a graphical user interface.

## Tags

### Graphics & Multimedia

- [Frame Generation](https://awesome-repositories.com/f/graphics-multimedia/frame-generation.md) — Implements a lossless scaling algorithm to insert generated frames between rendered ones to increase perceived frame rates and motion smoothness. ([source](https://cdn.jsdelivr.net/gh/pancaketas/lsfg-vk@develop/README.md))
- [Vulkan Frame Generation Tools](https://awesome-repositories.com/f/graphics-multimedia/vulkan-frame-generation-tools.md) — A Vulkan-based tool that inserts generated frames between rendered ones for smoother motion in graphics applications.
- [Unsupported Game Frame Generation](https://awesome-repositories.com/f/graphics-multimedia/game-graphics-upscalers/unsupported-game-frame-generation.md) — Inserts generated frames into graphics applications that lack native support to increase visual smoothness via Vulkan.
- [Lossless Frame Interpolation](https://awesome-repositories.com/f/graphics-multimedia/lossless-frame-interpolation.md) — Implements a lossless scaling algorithm that interpolates motion to increase perceived frame rates without quality loss.
- [Motion-Based Frame Interpolation](https://awesome-repositories.com/f/graphics-multimedia/motion-vector-calculation/motion-based-frame-interpolation.md) — Uses Vulkan-based motion vector analysis and pixel data to generate intermediate frames for smoother motion.
- [Vulkan Graphics Middleware](https://awesome-repositories.com/f/graphics-multimedia/vulkan-graphics-middleware.md) — Acts as graphics middleware providing an interface to integrate frame generation logic into external applications.
- [Frame Generation APIs](https://awesome-repositories.com/f/graphics-multimedia/frame-generation-apis.md) — Provides a dedicated programming interface for embedding its frame generation engine into third-party software. ([source](https://github.com/PancakeTAS/lsfg-vk/tree/ff1a0f72a7d6d08b84d58b7b4dc5f05c9f904f98/framegen))

### Development Tools & Productivity

- [DLL Injection Hooks](https://awesome-repositories.com/f/development-tools-productivity/application-customization-frameworks/system-hooking-frameworks/dll-injection-hooks.md) — Implements DLL injection to intercept the render pipeline and insert frame generation logic into external processes.
- [Profile Applications to Running Instances](https://awesome-repositories.com/f/development-tools-productivity/cli-profiling-tools/profile-management/profile-applications-to-running-instances.md) — Allows assigning specific generation profiles to individual executables to automate settings upon application startup. ([source](https://cdn.jsdelivr.net/gh/pancaketas/lsfg-vk@develop/README.md))
- [Configuration Profiles](https://awesome-repositories.com/f/development-tools-productivity/configuration-profiles.md) — Maps specific executable identifiers to predefined generation settings for automatic configuration on launch.

### System Administration & Monitoring

- [Graphics API Workload Profilers](https://awesome-repositories.com/f/system-administration-monitoring/graphics-hardware-monitors/graphics-call-profilers/graphics-api-workload-profilers.md) — Manages specific generation settings per executable to ensure optimal visual behavior across different graphics applications.

### Testing & Quality Assurance

- [Hardware Performance Benchmarking](https://awesome-repositories.com/f/testing-quality-assurance/hardware-performance-benchmarking.md) — Uses hardware timers to benchmark the computational speed and actual performance gains of the interpolation process.

### User Interface & Experience

- [User Preference Settings](https://awesome-repositories.com/f/user-interface-experience/user-preference-settings.md) — Offers a graphical user interface for adjusting visual output and frame generation preferences. ([source](https://github.com/PancakeTAS/lsfg-vk/tree/ff1a0f72a7d6d08b84d58b7b4dc5f05c9f904f98))
