uses a multithreaded system for averaging frames