I've made a GUI with a VLC activex object(VideoLAN.VLCPlugin.2) that is paused at all times throughout its use. The user has a time series chart associated with the video loaded into the VLC object, and whenever he clicks on the chart the video goes to corresponding time and displays the frame, which is what VLC default does when it is paused and you give it the input.time value. The user has the ability to hold down the mouse button and drag across the time series chart, telling the VLC activex object to constantly render the frame at the corresponding time on every mouse move. So I'm essentially rapidly setting the input.time property
This works smoothly for 60 FPS videos with the following video information:
Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuvj420p(pc, bt709), 1280x720, 45165 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 120k tbc
But is sluggish for 123 FPS video with the following video information:
Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 656x492 [SAR 1:1 DAR 4:3], 2415 kb/s, 123.06 fps, 123.06 tbr, 123061 tbn, 246122 tbc
By sluggish, I mean sometimes it doesn't update the vlc display with the new frame, other times it takes a half a second to render the frame. The 60 fps video plays perfectly through each frame, although sometimes is has to be 'reset' (i do a play then pause command).
I set the time using the player.input.time property.
My question is, is there setting or property I could use to make the performance on the high fps video better? I can't downsample the framerate, but I may be able to reduce the video quality a bit.
MY GPU is a Radeon RX 560. The GUI is built in Matlab. I am running Windows 7 64 Bit