Andras I checked out vtkWindowedSincPolyDataFilter this morning. This is a lot of room for improvement, one of the main issues is the memory is being allocated/deleted in small pieces. There are many loops that can be threaded (e.g., normalization, computing Chebyshev coefficients, local analysis of topology on a vertex-by-vertex basis etc.). The algorithm itself is iterative so there is no easy way around that. And yes, there are many virtual GetPoint() and related that could be replaced. The problem is finding the time to do this and track down representative datasets. If you can point me to / send me representative examples it will help us prioritize efforts.