This is sort-of a known issue with how xy-VSFilter/XySubFilter currently handles caching and rendering, but scripts such as this will always be rather CPU heavy.
Currently, long lines which may reside mostly off-screen are rendered and cached as a single massive rectangle, which can eat through a lot of RAM and hurt performance on samples such as this where blur, bord, fscx, fscy, are all changing dynamically per single-frame lines. That zoom in section likely creates around 120 4000x1000 rectangles in those few seconds which each need to be renderered/scaled/blurred basically from scratch and finally off-screen clipped.
There is definitely room for improvement by making the caches more intelligent or addition of look-ahead prediction, but no easy short term fix. Even so, I wouldn't expect performance any better than Libass currently achieves here.
|