Measuring the framerate with Smooth Motion on is tricky. In game FPS counters will not know about the doubled framerate, the actual framerate will be double whatever the app reports. The app’s FPS counter will show a drop in performance due to the overhead of frame generation. This overhead increases with higher input framerates.
Similarly VSync can result in surprising numbers because it limits games to the monitor’s refresh rate. If an application is hitting the max refresh rate without Smooth Motion, enabling Smooth Motion will show up as a 50% performance drop in application’s FPS counter. The actual framerate will still be the monitor’s max refresh rate. Smooth Motion is not useful if an app already runs at your monitor’s refresh rate.
Performance overlays can report either pre or post Smooth Motion framerates. If you use X11 the __GL_SHOW_GRAPHICS_OSD=1 environment variable will enable an FPS overlay that will always report the doubled framerate. Most other performance overlays are implemented as Vulkan layers (just like Smooth Motion) meaning the results will depend on the ordering of the layers. Mangohud should report the doubled framerate because it loads itself as an explicit layer which will run after Smooth Motion’s implicit layer. In order to use Mangohud you will need to pass an additional environment variable NVPRESENT_QUEUE_FAMILY=1 to workaround an incompatibility. The Steam overlay will be ordered arbitrarily because it is also an implicit layer, sometimes it will show the doubled framerate and sometimes it will show the app’s.
If you see identical performance the feature is likely not being enabled at all. The ‘Troubleshooting’ section in the README can help diagnose the issue if this is the case.
We’re keeping an eye on this thread for actionable issues. When reporting performance issues please include the name of the game, what you used to measure the FPS, and the values of in game VSync and Reflex and DLSS settings.