SDL 2.0.7 触摸 Windows
SDL 2.0.7 touch on Windows
我在 Windows 设备上使用触摸之前和之后 FPS 率下降有问题。当触摸事件发生时,一切正常,只有在触摸事件的开始和结束时出现明显的下降(例如,在 SDL_FINGERMOTION 的开始和结束时,可以注意到从 120 到 99 fps 或从 60 到48 帧/秒)。乍一看,我认为这是由于 SDL 默认同时处理触摸和鼠标事件造成的,所以我在代码中添加了以下行:
SDL_SetHint(SDL_HINT_TOUCH_MOUSE_EVENTS, "0");
不幸的是,根本没有区别。唯一的解决方案是将恒定的帧率设置为小于您的 PC 能够渲染的帧率,以提供流畅的体验。有趣的是,即使机器可以处理比 60 fps 高得多的帧速率,打开 VSync 也会导致掉帧。您是否知道可以做些什么来避免这种令人讨厌的 fps 下降?
我刚刚发现触摸光标的动画似乎是这种情况的罪魁祸首。解决方案是通过 Windows' 设置将其关闭。
我在 Windows 设备上使用触摸之前和之后 FPS 率下降有问题。当触摸事件发生时,一切正常,只有在触摸事件的开始和结束时出现明显的下降(例如,在 SDL_FINGERMOTION 的开始和结束时,可以注意到从 120 到 99 fps 或从 60 到48 帧/秒)。乍一看,我认为这是由于 SDL 默认同时处理触摸和鼠标事件造成的,所以我在代码中添加了以下行:
SDL_SetHint(SDL_HINT_TOUCH_MOUSE_EVENTS, "0");
不幸的是,根本没有区别。唯一的解决方案是将恒定的帧率设置为小于您的 PC 能够渲染的帧率,以提供流畅的体验。有趣的是,即使机器可以处理比 60 fps 高得多的帧速率,打开 VSync 也会导致掉帧。您是否知道可以做些什么来避免这种令人讨厌的 fps 下降?
我刚刚发现触摸光标的动画似乎是这种情况的罪魁祸首。解决方案是通过 Windows' 设置将其关闭。