I very often use subtitles on my mkv player to watch movies. I have frequently observed that there is sometime a lag between the subtitles and the actual video. Even after setting the subtitle offset one would have to go on increasing it as the movie proceeds. This is something i find extremely annoying and would like to know if there is any way when one can check if a subtitle file is the ideal one for a given video.
There's no way to automatically check if given subtitles match a video perfectly. You would need the ideal ("gold standard") subtitles as well, or some way to match the audio track against the words in the subtitle file, and it goes without saying that this is not practical.
Your only chance is to …
Or, alternatively, manually export the subtitles and check their timestamps: How to extract subtitles from MP4 and MKV movies
The question why subtitles drift and run out of sync is very broad. There could be various reasons for that:
Either way, the presentation timestamps of the subtitles don't match anymore, since they're not aligned to frames, but timecodes. Since the presentation timestamp of a frame can change with conversion, you see the subtitles drifting gradually.
To summarize, all you can do is check your given subtitles manually and try to replace them. If it happens with all material you have, then I'd rather suspect a hard- or software issue at the player side, which incorrectly demultiplexes the MKV container. Try another player or hardware solution and see if it fixes the problem.
You see.....all the copies are not same...a few scenes are usually cut short in some copies.
So, even if you adjust the subtitles, it is quite possible for them to lag/lead after a while.
Bottomline is, get subtitles for the copy that you are watching.
Especially, the source should same. I mean, if your copy is sourced from a blu-ray then subtitles must also be for blu-ray. Likewise for DVD and other sources.