Skip to main content

Video creation speed: threads, codecs, memory

The speed of video creation on the device is set by three settings. The number of threads is in the "Export" section. The processor limit and the codec choice are in the "Performance" section. The price of a mistake here is high: extra threads take up all the memory, and a hardware codec turns off the cloud. Below are the numbers and limits for each setting.

How many threads to set?​

A thread is one video being created right now. Five threads mean five videos at the same time.

FieldSectionLimitsDefault
"Number of local threads""Export"0-99,999,999half of the device's logical cores, but no more than 5
"Number of cloud threads""Export"0-1000
"Maximum logical processors per thread""Performance"1-99,999,9991

The local threads field accepts any number up to 99,999,999. The check sheet before the start suggests a sensible number.

The ceiling of cloud threads is set by your plan. When you turn the counter up to the ceiling by hand, a hint pops up above the field: "You have reached the maximum number of cloud threads. To raise the cloud thread limit, contact support."

What is a safe number of threads?​

The check sheet before the start shows a forecast of memory use. The forecast takes into account the video resolution, the set of settings and a reserve for the operating system. The reserve is 2 GiB or 30% of the device's total memory, whichever is greater. Plus one logical core.

Then the sheet compares the forecast with the number of threads set and shows one of two lines:

Sheet lineWhat it meansWhat to do
"More local threads than recommended"there is not enough memory for all threadspress the "Set N" button next to the line
"The system may fail: too many local threads"the set number of threads takes more memory than the device haspress "Set N" or lower the number by hand

Both lines are in the "Warnings" section; they do not prevent the start. The "Set N" button puts in the safe number right away.

How much memory does one video need?​

The numbers below were measured on a device with 12 logical cores. The input is H.264 video. The right column is the use with the automatic number of internal encoder threads.

ResolutionOne encoder threadAutomatic number of threads
720p264 MB444 MB
1080p511 MB883 MB
4K1859 MB3191 MB

The use is almost proportional to the frame area. The "File compression" setting changes it: "Minimum" is about half as costly as "Medium", "Maximum" about one and a half times more costly. The most expensive frame setting is frame interpolation: at 1080p the use grows from 883 to 1355 MB.

Hence a simple rule. Multiply the number from the table by the number of threads and add the reserve for the system. The sum must not exceed the device's memory.

What does limiting logical processors give?​

The "Limit logical processors per thread" switch is on the "Performance" page. It opens the "Maximum logical processors per thread" field.

The setting saves two things at once. It lowers the processor load and cuts memory use at 1080p roughly in half. The reason is in how the encoder works. It keeps its buffers for each internal thread. By default there are about one and a half such threads per core.

The price is speed. Video creation takes noticeably longer. The setting is useful when you work in other heavy apps at the same time.

An example from the app's tooltip:

Example: your processor has 10 logical processors. You set the number of threads to 2 and the number of logical processors per thread to 3. As a result, VUB will use at most 6 logical processors while creating videos ( <60% of your CPU).

The number of logical processors of your device is visible in Task Manager, on the "CPU" tab.

How do hardware codecs differ from software ones?​

The codec choice is opened by the "Choose codec and container" switch. By default it is off, and then the result comes out in mp4 with the H.264 codec and AAC audio. The switch tooltip says: "While this is off, video creation runs as before: H.264 + AAC + mp4."

A software codec computes the video on the processor. A hardware codec hands the work to the graphics card.

Software codecsHardware codecs
Who computesthe device processorthe device graphics card
Speedlowernoticeably higher
Processor loadhighlow
Video creation in the cloudavailableunavailable
Visible in the listalwaysonly when they work on your graphics card

Software codecs in the "Video codec" list: "H.264 / AVC (libx264)", "H.265 / HEVC (libx265)", "AV1 (SVT-AV1, fast)", "AV1 (libaom, slow)", "AV1 (rav1e)", "VP9 (libvpx)", "MPEG-4 Part 2", "Xvid (MPEG-4 Part 2)", "Apple ProRes (editing, large files)".

Hardware codecs in the same list: "H.264 (NVIDIA NVENC, GPU)", "H.265 / HEVC (NVIDIA NVENC, GPU)", "AV1 (NVIDIA NVENC, GPU - RTX 40xx and newer)", "H.264 (Intel Quick Sync, GPU)", "H.265 / HEVC (Intel Quick Sync, GPU)", "AV1 (Intel Quick Sync, GPU - Arc and newer)", "H.264 (AMD AMF, GPU)", "H.265 / HEVC (AMD AMF, GPU)", "AV1 (AMD AMF, GPU - RX 7000 and newer)".

Separately about speed: "AV1 (libaom, slow)" encodes about 90 times longer than H.264.

Why does a hardware codec turn off the cloud?​

Such a codec works only on your device's graphics card. The cloud does not have this graphics card. So when a hardware codec is chosen, the cloud thread counter is set to zero and becomes inactive. This is a ban, not a warning.

The tooltip of the locked field says: "Cloud video creation is unavailable: a hardware codec is selected (NVENC / Quick Sync / AMF). Such codecs run only on the graphics card of your device, and the cloud has none. To create videos in the cloud, keep software codecs only."

To get the cloud threads back, choose a software video codec and set the number of cloud threads again.

Why is my graphics card's codec not in the list?​

The app shows a hardware codec only when it works on your device. The build's list says nothing about the hardware, so each codec is checked with a test: a tenth of a second of an empty frame is encoded. On a typical device this is 3 tests of about 0.3 seconds each.

The test result is saved. It stops being valid when the graphics card changes, when the driver is updated with a new graphics card and when the app is updated. While the result is valid, the codec list does not change. So after installing a new graphics card it is worth restarting the app.

Why is the "Keyframe interval" group inactive?​

This group works only together with the codec choice. Turn on the "Choose codec and container" switch, and the group becomes available. The slider limits are from "1 frame" to "500 frames", the default is 30-250.

The other settings of the "Performance" page are covered on the Result quality page.

What slows video creation down the most?​

  • "Stabilization" in the geometry section;
  • "File compression" set to "Maximum";
  • the "AV1 (libaom, slow)" video codec;
  • "Limit logical processors per thread";
  • "Opacity" and "Corner rounding" in the template;
  • the "AI check" similarity check method with a large number of copies;
  • the "Delete and recreate" action in the similarity check.

What to choose in typical cases?​

TaskThreadsCodecAlso
Make a batch fast, the device is freethe safe number from the check sheethardware, if it is in the list"File compression" - "Minimum"
Work in other apps at the same time1-2any software oneturn on the logical processor limit, set 2-3
Create videos in the cloud0 local, cloud ones as your plan allowssoftware onlya hardware codec sets the cloud threads to zero
A device with 8 GB of memory, 4K video1anycheck the memory use table above
The smallest file sizethe safe number"H.265 / HEVC (libx265)""File compression" - "Maximum"; this is slow

Frequently asked questions​

How many threads should I set to avoid freezes?​

As many as the check sheet before the start shows. Press "Start" and look at the "Warnings" section. If there is a line about threads, press the "Set N" button. This is the safe number for your device and your project.

Why did the app pause work even though there are few threads?​

Most likely the memory is taken by other apps. New local threads do not start when memory use is 95% or more. Threads already running do not stop. More on the App is not responding page.

Will doubling the number of threads speed up the work?​

Not always. Threads share the processor and memory of one device. Beyond a certain number they start to get in each other's way, while memory use grows linearly. Please check the memory use table and the safe number from the check sheet.

Why was the chosen container not applied?​

The app falls back to the H.264 + AAC + mp4 combination when the codec pair does not suit the container on this device. There is no message on the screen. Please check the "Video codec" and "Container" pair in the "Performance" section.

Does the codec choice affect the cost of video creation in the cloud?​

A hardware codec is not available in the cloud at all. The codec does not affect the size in gigapixels, but it multiplies the complexity: H.265 is about 1.9 times more expensive than H.264, AV1 (rav1e) about 8 times, AV1 (libaom) almost 20 times. About the cost calculation: the Video creation mode page.