Surfer will send the processing requirements to Windows, and it is up to Windows how those threads are mapped to processors (or cores in a multi-core CPU). In general, a single threaded application can use 100% of a single core processor, 50% of both cores in a dual processor, 25% of all 4 cores in a quad core processor, etc.
Surfer will only use both cores to 100% in a dual core processor if you start a big process on one core (like grid a large data set) and then trigger a massive redraw (like dragging a window over a very complicated plot document). However, usually the redraw happens relatively quickly and the redraw thread goes back to waiting (at which point you get back to 50% on both cores again).
Extra RAM is the best way to improve the performance of Surfer with large files. Under 32-bit versions of Windows, the Operating System limits the amount of RAM for any given process to 2 GB, with a limit on total RAM to 4 GB. For more RAM utilization, use a 64-bit Operating System and the 64-bit version of Surfer.
Updated February 8, 2017