How does Camtasia utilize multiple processors?
Camtasia Studio 8 is able to utilize multiple processors during rendering in certain scenarios. For example, multiple processors are used to decode and encode MP4 files. But producing an MOV file would only use a single processor.
How is recording affected by having two processors? When do frames get dropped?
In Camtasia Recorder, the video capture is performed on a single thread, and the audio capture is performed on a separate thread. Video capture is much more CPU intensive and consists of 3 main tasks in a loop:
- Capture a frame from video memory to system memory
- Compress the frame in system memory with the selected codec
- write the compressed frame to disk
Frames are dropped when all 3 of these steps cannot be performed in real time. For example, at a capture frame rate of 10fps, this loop must complete in 0.1 sec or less in order to avoid dropping frames. Step #1 is faster on a system with a faster bus speed, and with hardware acceleration turned off (WinXP). Step #2 is faster when the codec can efficiently compress the frames, which is improved by lower dimensions and by matching the content to what the codec is good at encoding (e.g. low motion screen content for TSCC). Step #3 is faster when the disk I/O subsystem is fast, and when the codec is able to compress the frames to a smaller size.
Having 2 CPU cores helps because it allows the application to run on 1 CPU while the recording takes place on the other CPU. Having more than 2 CPU cores would help only if there were other CPU intensive tasks in progress during recording Camtasia Studio 7 also uses multi threading resizing in the render pipeline which then results in less dropped frames in the preview window and faster render times.