Something that has been bothering me for awhile is obtaining smooth, responsive mouse motion with custom UI::Cursors. Whenever I use the UI cursor (Input::SetMouseVisible(false)) the cursor moves with a great deal of lag due to being locked to the game render cycle, and while it gets worse at lower framerates, even at high framerates it is still noticeable. However, SetMouseVisible(true) just shows the standard system cursor, and not the Cool™ game-specific colored cursor I want to show.
Now, I understand that SDL does allow specifying an image for the system cursor via SDL_CreateColorCursor, and looking at the code for UI::Cursor it appears that it is doing so, but it still seems to be rendering the cursor on the render cycle and not at the system level. Is there something else or something different that I need to be doing in order to get a fast, responsive, system-level custom cursor? Do I need to do an end run around UI and go to SDL directly, or am I just missing something?