- Separate hardware encoding from CPU-based decoding, filtering, audio, and subtitle work.
- Use a minimal test encode and Activity Log to identify the bottleneck.
- Restore settings individually, then stop when speed, quality, and compatibility are acceptable.
- Confirm the Symptom With a Small Test Encode or Preview
- Check the HandBrake Settings Directly Related to This Problem
- Check Source, System, Audio, Subtitle, and Storage Factors
- Use the Activity Log to Separate Guesswork From Evidence
- Run a Clean Temporary Encode With Minimal Settings
- Quick Fix Checklist
- Frequently Asked Questions
You selected NVIDIA NVENC, Intel Quick Sync Video, AMD VCN, or Apple VideoToolbox, but HandBrake is still encoding slowly or using a surprising amount of CPU. That does not necessarily mean hardware encoding is broken. A hardware encoder accelerates the video encoding stage, but HandBrake may still use the CPU for decoding, filters, scaling, subtitle rendering, audio conversion, synchronization, and muxing. Storage performance and unusually demanding source files can also limit the entire pipeline.
The fastest way to diagnose this symptom is to isolate each stage instead of changing many settings at once. Start with a short, repeatable test. Then inspect the video encoder, filters, dimensions, audio, subtitles, storage, drivers, and Activity Log. After every change, look for a measurable improvement. Once the result meets your speed, quality, and compatibility needs, stop changing settings.

Start with free Canva bundles
Browse the freebies page to claim ready-to-use Canva bundles, then get 25% off your first premium bundle after you sign up.
Free to claim. Canva-ready. Instant access.
1. Confirm the Symptom With a Small Test Encode or Preview
Do not troubleshoot with a two-hour movie or a large batch. Choose one representative source and encode a short chapter or a range of roughly one to five minutes. Use the same range for every comparison so that scene complexity does not distort the results.
Record the average encoding speed, elapsed time, CPU utilization, and whether the selected GPU engine is active. On Windows, Task Manager can display separate GPU graphs for video encoding and video decoding. On macOS, Activity Monitor can show HandBrake's CPU demand, although hardware media-engine reporting varies by Mac and operating system version. On Linux, monitoring options depend on the GPU and installed driver tools.
1.1 Distinguish Slow Encoding From High CPU Usage
Slow encoding and high CPU usage are related symptoms, but they are not identical. A job can encode quickly while using substantial CPU because the processor is keeping the hardware encoder supplied with decoded and filtered frames. Conversely, CPU utilization can remain modest while encoding is slow because the GPU encoder, source storage, or output storage is the limiting stage.
High CPU usage alone is not a failure. The more useful questions are whether HandBrake selected the intended hardware encoder, whether the hardware video-encode engine is active, and whether performance is reasonable for the source and settings.
1.2 Establish Two Useful Baselines
Run the same short range twice:
- Use a normal software encoder preset, such as an appropriate x264 or x265 preset.
- Use a hardware preset that selects NVENC, Quick Sync, VCN, or VideoToolbox.
Keep the resolution, frame rate, filters, audio, and subtitle choices as similar as practical. This is not a quality-equivalence test because software and hardware encoders use different controls and can produce different quality at the same bitrate. It is a pipeline test.
A successful baseline shows that the hardware run is faster or that the GPU's video-encode engine becomes active. If both runs have nearly identical speed and CPU behavior, verify the selected encoder and inspect the Activity Log before changing quality controls.
2. Check the HandBrake Settings Directly Related to This Problem
2.1 Verify the Actual Video Encoder
Open the Video tab and confirm that the encoder name explicitly identifies the intended hardware technology. Selecting a general preset does not help if a later setting change switched the video encoder back to x264, x265, or another software encoder.
Start from a built-in hardware preset when possible, then make only the changes you need. If the desired hardware encoder is absent from the encoder list, HandBrake may not detect compatible hardware or a suitable driver. Repeatedly restarting the same job will not resolve that detection problem.
Success means the hardware encoder appears in the Video tab, remains selected when the job is added to the queue, and is identified in the Activity Log when encoding begins.
2.2 Use a Sensible Hardware Encoder Preset
Hardware encoders commonly offer speed or quality presets. Choosing the slowest available option can reduce the expected speed advantage, particularly at high resolutions or with advanced encoder features. Begin with a balanced or default hardware preset. Move toward slower, higher-quality settings only after confirming that the basic hardware path works.
Avoid comparing unrelated settings. A fast NVENC job at 1080p is not a meaningful speed comparison with a software x265 job that scales to 4K, burns subtitles, denoises every frame, and uses different frame-rate behavior.
2.3 Disable Filters for a Diagnostic Run
Filters are among the most common reasons that HandBrake hardware encoding remains CPU intensive. Depending on the platform and operation, filters may run primarily on the CPU before frames reach the hardware encoder. Relevant operations include:
- Deinterlacing or decomb filtering
- Denoising
- Sharpening
- Detelecine processing
- Rotation or flipping
- Cropping and padding
- Resolution scaling
- Burning subtitles into the picture
For one short test, turn off optional filters, keep the source dimensions when practical, disable burned-in subtitles, and avoid unnecessary cropping or scaling. Automatic cropping is often inexpensive compared with denoising or deinterlacing, but the cleanest diagnostic test removes as many transformations as possible.
If speed rises sharply or CPU use falls after filters are disabled, the encoder was probably working correctly and the preprocessing stage was the bottleneck. Re-enable one feature at a time. Stop when you have restored the features you actually need and performance remains acceptable.
2.4 Check Resolution and Frame Rate
High-resolution sources create more work throughout the pipeline. A 4K frame contains four times as many pixels as a 1080p frame. High frame-rate 4K footage can pressure decoding, filtering, memory transfer, and encoding simultaneously. Scaling a large source adds another processing stage.
Test with the original frame rate and either the original resolution or a modest output resolution appropriate for your needs. Do not upscale a source unless a specific delivery requirement justifies it. If a lower-resolution test runs much faster, the system is reaching a throughput limit rather than simply ignoring hardware encoding.

3. Check Source, System, Audio, Subtitle, and Storage Factors
3.1 Decoding Is Separate From Encoding
Hardware encoding only addresses the compression of output video. HandBrake must first read and decode the source. If the source codec is not supported by the system's hardware decoder, decoding may occur on the CPU. Even when hardware decoding is available in the hardware, software support, drivers, codec profiles, bit depth, chroma format, or HandBrake's processing path can affect whether it is used.
This distinction matters with computationally demanding sources such as high-resolution HEVC, AV1, high-bit-depth video, unusual camera formats, and high-frame-rate screen recordings. A low-end CPU may struggle to decode or prepare frames quickly enough to keep a powerful hardware encoder busy.
Test a conventional, locally stored H.264 source if one is available. If that file encodes quickly with the same hardware preset, the original source's decoding complexity or format is likely part of the problem. Success does not require an idle CPU. It means the pipeline supplies frames fast enough for acceptable overall speed.
3.2 Update the Operating System, HandBrake, and Graphics Driver
Hardware encoder access depends on a compatible GPU, operating system, driver stack, and HandBrake build. Install a current stable HandBrake release from the official project and use a stable graphics driver appropriate for your GPU and operating system. On laptops with switchable graphics, confirm that the relevant GPU is enabled and available to HandBrake.
On macOS, VideoToolbox is provided through Apple's media frameworks, so operating system compatibility is important. On Linux, hardware support can depend on the distribution, driver packages, permissions, and how HandBrake was installed. Avoid assuming that the presence of a GPU alone guarantees access to every codec or profile.
Success means the encoder appears consistently, initializes without errors in the Activity Log, and engages the corresponding hardware video engine during the test.
3.3 Simplify Audio Processing
Audio is usually less expensive than video, but multiple audio tracks, high-quality software audio encoders, sample-rate conversion, channel mixing, and loudness-related processing can become noticeable on a weak CPU. They can also complicate a test when you are trying to isolate video performance.
For the clean test, keep one audio track. If the destination container and playback devices support the source format, try passthrough. Otherwise, use one ordinary stereo AAC track at a practical bitrate. Do not use passthrough if the target player cannot decode that audio format.
If simplifying audio materially improves speed, add required tracks back one at a time. Stop once the output has the languages and compatibility you need. There is little benefit in preserving numerous unused tracks.
3.4 Test Without Burned-In Subtitles
A selectable subtitle track and a subtitle burned into every video frame are different operations. Burn-in requires rendering subtitle graphics or text onto frames before encoding. This can add CPU work and may interfere with an otherwise fast hardware pipeline.
Run the test with subtitles disabled. If subtitles are necessary, determine whether your destination container and playback devices support a selectable subtitle format. Some source subtitle formats cannot be passed through to every container, so HandBrake may require burn-in for compatibility.
Success means subtitle-free performance improves and a supported selectable track preserves the desired viewing experience. If burn-in is mandatory, higher CPU usage may be an expected cost rather than a fault.
3.5 Eliminate Storage and Network Bottlenecks
HandBrake needs sustained access to the source and destination. A slow external drive, nearly failing disk, busy network share, cloud-synchronized folder, or heavily loaded storage device can interrupt the pipeline. Optical sources can also read more slowly or less consistently than local files.
For diagnosis, use a legitimate, unprotected source you have the right to process and place it on a healthy local drive with adequate free space. Write the output to a local drive, preferably not through a slow USB hub or network connection. Do not use this guidance to bypass copy protection or copy material without permission.
If the local-to-local test is faster and steadier, storage was limiting performance. You can stop changing video settings and instead improve the source or destination path.
3.6 Consider Muxing and Playback Compatibility
After video and audio streams are encoded, HandBrake places them into the destination container. This muxing stage can briefly use CPU and storage, especially near the end of a job. A short pause while finalizing an MP4 or MKV does not indicate that hardware video encoding failed.
Also verify the output on the device that matters. Some older phones, televisions, browsers, and media boxes do not support every hardware encoder's codec, profile, level, bit depth, or audio format. A fast encode is not successful if the output cannot be played reliably.
4. Use the Activity Log to Separate Guesswork From Evidence
The HandBrake Activity Log records source scanning, selected tracks, filters, encoder initialization, errors, and output details. Open it immediately after starting the short test and save it before closing HandBrake if you may need support.
4.1 What to Look For in the Log
- The selected video encoder and its initialization details
- The source codec, resolution, frame rate, and bit depth
- Filters inserted into the processing pipeline
- Cropping, scaling, or frame-rate conversion
- Selected audio encoders or passthrough tracks
- Subtitle tracks and whether one is burned in
- Warnings, fallback behavior, or encoder initialization failures
- Read, write, synchronization, or muxing errors
Do not focus on a single unfamiliar line without context. Compare the complete log from the working minimal test with the log from the slow job. The difference often reveals an added filter, subtitle burn-in, software encoder, larger dimensions, or extra track.
4.2 Evidence That Hardware Encoding Is Working
The strongest evidence is a combination of signals: the intended hardware encoder is named in the log, it initializes without a fatal error, the operating system reports video-encode activity, and the job responds when you change the hardware encoder's speed or quality preset.
CPU usage can still be high under these conditions. That generally means another pipeline stage is busy. Do not keep reinstalling drivers solely because total CPU utilization is higher than expected.
5. Run a Clean Temporary Encode With Minimal Settings
If the cause remains unclear, create a deliberately simple job. This test is not intended to produce your final file. It establishes whether the core hardware path works.
- Copy a short, supported source to a local drive.
- Start from a built-in hardware preset for the encoder you want to test.
- Keep the source resolution and frame rate where practical.
- Disable deinterlace, denoise, sharpen, rotation, and other optional filters.
- Disable subtitles, particularly burned-in subtitles.
- Keep one simple audio track or use compatible passthrough.
- Write to a local destination with sufficient free space.
- Encode the same short range and save the Activity Log.
If this clean job is fast, the hardware encoder is probably functioning. Add your required changes one at a time: first dimensions, then necessary deinterlacing, then other filters, subtitles, and additional audio tracks. Test after each addition.
If the clean job is still slow, compare it with a software encode of the same range and inspect hardware-engine activity. Confirm driver support and encoder initialization. On a low-end system, source decoding or frame preparation may still limit the hardware encoder even with minimal settings.
Stop changing settings when you identify the feature that causes the slowdown or when the clean test demonstrates a hardware, driver, or source-format limitation. Random adjustments after that point make results harder to interpret.
6. Quick Fix Checklist
- Confirm that NVENC, Quick Sync, VCN, or VideoToolbox is actually selected.
- Use one short source range for every comparison.
- Check the Activity Log for the active encoder and inserted filters.
- Watch the GPU's video-encode engine, not only overall GPU utilization.
- Disable denoise, deinterlace, scaling, and subtitle burn-in for one test.
- Keep one simple audio track during diagnosis.
- Test with a local source and local destination.
- Use a balanced hardware preset before trying slower quality modes.
- Compare the same source with a software encoder and hardware preset.
- Update HandBrake and the appropriate stable graphics driver.
- Remember that hardware encoding does not make decoding or filtering free.
- Restore settings individually and stop when performance and output are acceptable.
7. Frequently Asked Questions
7.1 Why Is HandBrake Using 100 Percent CPU With NVENC Selected?
NVENC accelerates output video encoding, not every part of HandBrake. The CPU may be decoding the source, deinterlacing, denoising, scaling, rendering subtitles, converting audio, or preparing frames. Check that the NVIDIA video-encode engine is active and inspect the Activity Log. If NVENC is initialized and performance is acceptable, high CPU use can be normal for that job.
7.2 Why Is Quick Sync or VideoToolbox Not Much Faster Than Software Encoding?
The hardware encoder may be waiting for a slower stage. Difficult source decoding, high-resolution filtering, subtitle burn-in, storage delays, or a low-end CPU can restrict throughput. Run a minimal local encode with filters and subtitles disabled. If speed improves, the limitation was outside the hardware encoder.
7.3 Does Hardware Encoding Also Enable Hardware Decoding?
Not automatically. Encoding and decoding are separate capabilities and stages. A system may support hardware encoding for the destination codec while decoding the source on the CPU. Availability also depends on the source codec, profile, bit depth, driver, operating system, and application path.
7.4 Can Deinterlacing Make a Hardware Encode Slow?
Yes. Deinterlacing or decomb processing must analyze and transform frames before encoding, and it can consume substantial CPU resources. Disable it briefly to measure the effect, but do not leave it disabled in the final output if the source is interlaced and requires deinterlacing for proper playback.
7.5 Why Does HandBrake Slow Down Near the End?
HandBrake may be finishing audio, flushing encoder buffers, writing metadata, or finalizing the MP4 or MKV container. Storage speed can make this phase more noticeable. A brief finalization period is normal. Repeated errors, extreme delays, or an incomplete file warrant checking the Activity Log and destination drive.
7.6 What Does a Successful Fix Look Like?
A successful fix is not necessarily near-zero CPU utilization. It means the intended hardware encoder initializes, the video-encode engine is active, the job runs at a useful and stable speed, and the output has acceptable quality and plays on the target device. Once those conditions are met, stop optimizing unless a specific remaining requirement justifies another change.