← Blog

Giảm tải GPU khi ghi hình: Hướng dẫn thực chiến điều chỉnh độ phân giải, bitrate và theo dõi tải

Hình ảnh điều chỉnh bộ mã hóa và bitrate trên màn hình cài đặt đầu ra OBS
Photo · Pexels
Tóm tắt chính
  • Cốt lõi để giảm tải GPU gồm ba điều: giảm độ phân giải, nới bitrate, và dùng bộ mã hóa phần cứng (NVENC).
  • Giảm 1440p xuống 1080p, 60fps xuống 48fps, kiểu chỉ điều chỉnh một mục mỗi lần và xác nhận cảm nhận thì an toàn.
  • Xem đồ thị GPU trong trình quản lý tác vụ và thông báo quá tải mã hóa ở cửa sổ thống kê OBS thì bạn xác định chính xác được điểm nghẽn.
  • DOR mặc định dùng chip mã hóa NVENC để chuyển phần tính toán mã hóa sang mạch chuyên dụng của GPU nên ảnh hưởng tới khung hình game nhỏ.

Nói thẳng vào kết luận, cách giảm tải GPU khi ghi được tổng hợp thành ba điều. Thứ nhất giảm độ phân giải ghi một bậc, thứ hai nới bitrate (hoặc tùy chọn chất lượng), thứ ba dùng bộ mã hóa phần cứng (NVENC) của card đồ họa thay cho mã hóa phần mềm. Chỉ cần áp dụng tuần tự ba điều này thôi cũng giải quyết được phần lớn tình trạng giật và rớt khung hình.

Tại sao ghi hình lại gây tải cho GPU. Để biến màn hình thành file video thì cần phép tính mã hóa nén từng khung hình. Nếu xử lý phép tính này bằng cùng tài nguyên GPU mà game đang dùng, thì game và việc ghi như chia nhau một miếng bánh nên khung hình rớt. Vì thế, chiến lược giảm tải rốt cuộc quy về việc giảm lượng tài nguyên mà mã hóa ngốn, hoặc chuyển mã hóa sang mạch chuyên dụng.

Bước 1: Giảm độ phân giải một bậc

Đây là cách hiệu quả lớn và nhanh nhất. Hãy giảm độ phân giải đầu ra ghi từ 1440p xuống 1080p, hoặc từ 1080p xuống 900p (1600x900) hay 720p một bậc. Độ phân giải thấp hơn thì số pixel bộ mã hóa phải xử lý giảm nên phép tính mã hóa GPU nhẹ ngay lập tức. Nếu giữ game ở độ phân giải gốc và chỉ giảm đầu ra ghi, bạn có thể giảm bớt tải mà không thiệt hại màn hình chơi.

Hạ từ 1920x1080 xuống 1280x720 thì số pixel giảm còn khoảng 44%. Tải mã hóa cũng nhẹ đi tương ứng, nên nếu muốn giữ khung hình ở màn hình nhanh như Valorant hay Battlegrounds thì ghi 720p cũng là lựa chọn đủ thực dụng.

Bộ lọc giảm độ phân giải có ảnh hưởng tới chất lượng. Với OBS thì 'Lanczos' sắc nét nhất nhưng hơi nặng, còn nếu tải eo hẹp thì 'Bicubic' là ổn. Người dùng DOR chỉ cần chọn độ phân giải đầu ra là bên trong sẽ tự xử lý việc scale phù hợp.

Bước 2: Nới bitrate và tùy chọn chất lượng

Bitrate là lượng dữ liệu đưa vào video mỗi giây. Càng cao thì chất lượng càng tốt nhưng bộ mã hóa phải tính toán nhiều hơn. Nếu là kiểu CQ (Constant Quality) thường dùng khi ghi, hãy nâng giá trị lên khoảng 18 đến 22 để nén lỏng đi một chút. Nếu chỉ định bitrate trực tiếp bằng CBR/VBR thì với chuẩn 1080p 60fps hãy bắt đầu từ mức 40,000~60,000kbps, rồi nếu tải eo hẹp thì giảm dần từng bậc.

VBR (bitrate biến thiên) chỉ nâng bitrate khi màn hình nhanh và hạ ở cảnh tĩnh, nên giảm dung lượng và tải so với chất lượng. Với game chuyển động màn hình mạnh thì VBR có lợi cho việc hạ tải trung bình.

Bước 3: Chuyển sang bộ mã hóa phần cứng (NVENC)

Đây là điểm cốt lõi. Bộ mã hóa phần mềm như x264 nén bằng CPU, còn một số chế độ mã hóa GPU thì kéo cả đơn vị tính toán đồ họa (shader) ra dùng chung. Trong khi đó NVENC là mạch riêng nằm trong GPU chỉ chuyên trách mã hóa video. Tức là nó tách biệt về mặt vật lý với phần tính toán đồ họa mà game dùng, nên ghi bằng NVENC thì ảnh hưởng tới khung hình game nhỏ trong khoảng 5%.

Nếu là card đồ họa NVIDIA (dòng GTX 600 trở lên) thì bạn dùng được NVENC H.264, còn từ GTX 950 trở lên thì còn chọn được NVENC HEVC (H.265) với tỷ lệ nén tốt hơn. Nếu là đồ họa tích hợp CPU Intel thì Quick Sync, còn AMD thì AMF là bộ mã hóa phần cứng đóng cùng vai trò. Trong cài đặt bộ mã hóa, nếu thấy 'NVENC' thì chỉ cần đổi sang nó là cấu trúc tải đã khác đi.

Màn hình cài đặt bộ mã hóa, đổi bộ mã hóa sang NVENC và điều chỉnh bitrate trong cài đặt đầu ra OBS
OBS Studio · Wikimedia Commons (GPL, OBS Project)

Cách nhìn tải GPU trực tiếp bằng mắt

Đổi cài đặt xong thì phải xác nhận xem tải có giảm thật không. Cách đơn giản nhất là trình quản lý tác vụ của Windows. Mở bằng Ctrl+Shift+Esc rồi xem mục GPU ở tab 'Hiệu suất'. Nhấp vào đồ thị thì có thể xem tách ra thành '3D', 'Video Encode', v.v., và tải ghi thường hiện ở 'Video Encode'. Xem giá trị này thay đổi thế nào khi bật và tắt ghi thì bạn ước lượng được lượng bộ mã hóa dùng.

  • Trình quản lý tác vụ > Hiệu suất > GPU: kiểm tra mức chiếm dụng tổng và lượng dùng Video Encode. Nếu 3D liên tục chạm 95% thì đó là dấu hiệu bản thân game đang dùng kín GPU.
  • Cửa sổ thống kê OBS (Xem > Thống kê): nếu 'Khung hình bị bỏ do quá tải mã hóa' tăng lên thì bộ mã hóa đang không theo kịp, cần giảm thêm độ phân giải và bitrate.
  • Theo dõi khung hình trong game: so sánh chênh lệch fps trung bình khi bật ghi và khi tắt ghi thì thấy ngay việc ghi thực sự ngốn bao nhiêu.
  • Đảm bảo dư địa GPU: nếu game dùng GPU 100% thì bộ mã hóa không có chỗ chen vào. Hạ nhẹ tùy chọn game để tạo 10~20% dư địa thì việc ghi sẽ mượt hơn.
Mỗi lần chỉ đổi một mục. Nếu động vào độ phân giải, bitrate, bộ mã hóa cùng lúc thì không biết được cái nào tạo ra hiệu quả. Đổi một cái rồi kiểm tra trình quản lý tác vụ và khung hình game, tiến hành theo kiểu đó thì bạn nhanh chóng tìm ra giá trị tối ưu hợp với PC của mình.

Những thứ cần kiểm tra khi tải vẫn không hạ

  • Giảm tốc độ khung hình: hạ 60fps xuống 48fps hay 30fps thì bản thân số khung hình phải mã hóa giảm nên tải giảm tương ứng.
  • Nới preset bộ mã hóa: hạ preset NVENC từ mức chất lượng cao như P6 xuống một hai bậc nhanh hơn (như P4) thì tổn thất chất lượng ít mà phép tính nhẹ đi.
  • Dọn app nền: lớp phủ Discord, trình duyệt, phần mềm điều khiển RGB, v.v. ngốn GPU từ từ. Khi ghi thì tắt các lớp phủ không cần thiết.
  • Cập nhật driver: driver đồ họa cũ thì hiệu suất NVENC có thể giảm nên hãy giữ ở bản mới nhất.

Tại sao DOR nhẹ hơn

DOR về cơ bản dùng chip mã hóa NVENC của GPU để chuyển phép tính ghi sang mạch chuyên dụng của GPU. Vì mã hóa được xử lý ở vùng tách biệt với phần tính toán đồ họa mà game dùng, nên tải tính toán GPU được giữ thấp và thiệt hại khung hình game nhỏ. Người dùng không cần bận tâm từng loại bộ mã hóa hay bảng bitrate phức tạp, chỉ cần chọn độ phân giải và chất lượng là bên trong việc ghi sẽ tiến hành theo đường tải thấp.

Màn hình ghi tải thấp khi DOR dùng chip mã hóa NVENC để hạ tải GPU
DOR dùng chip mã hóa NVENC để hạ tải GPU

Vì vậy nó phát huy hiệu quả lớn ở các game chuyển cảnh nhanh thường xuyên. Những game như Valorant nơi một chút aim là quan trọng, hay Battlegrounds nơi khung hình trong giao tranh cuối là sự sống còn, chỉ rớt vài khung hình do ghi cũng đã cảm nhận rõ, nên chuyển tải mã hóa sang chip chuyên dụng thì có thể giảm thiểu thiệt hại đó.

Tóm lại, tải GPU khi ghi được điều chỉnh từng bậc theo trình tự giảm độ phân giải → nới bitrate → chuyển sang bộ mã hóa phần cứng, rồi xác nhận hiệu quả bằng trình quản lý tác vụ và thống kê OBS để tìm điểm cân bằng của PC mình là được. Nếu muốn giảm bận tâm cài đặt thì bắt đầu với DOR vốn mặc định đường NVENC tải thấp cũng là một xuất phát điểm tốt.

FAQ

Câu hỏi thường gặp

Khi ghi thì khung hình game rớt, trước tiên nên đổi cái gì?

Hãy giảm độ phân giải đầu ra ghi một bậc. Hạ 1440p xuống 1080p, 1080p xuống 720p thì số pixel bộ mã hóa phải xử lý giảm nên tải GPU nhẹ ngay. Giữ nguyên độ phân giải game và chỉ giảm đầu ra ghi thì bạn giảm được tải mà không thiệt hại màn hình chơi.

NVENC khác gì với mã hóa GPU thông thường?

NVENC là mạch riêng nằm trong GPU chỉ chuyên trách mã hóa video. Vì tách biệt về mặt vật lý với phần tính toán đồ họa mà game dùng, nên ghi bằng NVENC thì ảnh hưởng tới khung hình game nhỏ trong khoảng 5%. Nó nhẹ hơn nhiều so với cách kéo cả phép tính shader ra dùng chung.

Muốn kiểm tra tải GPU trực tiếp thì nên xem ở đâu?

Trong tab Hiệu suất của trình quản lý tác vụ Windows (Ctrl+Shift+Esc), đổi đồ thị GPU sang 'Video Encode' thì thấy được lượng bộ mã hóa dùng. Với OBS thì cũng kiểm tra ở cửa sổ thống kê xem 'Khung hình bị bỏ do quá tải mã hóa' có tăng lên không.

Bitrate cứ giảm là tốt phải không?

Không phải lúc nào cũng vậy. Bitrate quá thấp thì chất lượng vỡ. Nếu là kiểu CQ thì chỉ nới một hai bậc lên khoảng 18 đến 22, còn với game chuyển động màn hình mạnh thì dùng VBR để dồn bitrate vào riêng cảnh nhanh, hạ tải trung bình theo cách đó thì cân bằng hơn.

DOR có phải cài đặt bộ mã hóa riêng không?

Không. DOR mặc định đường tải thấp dùng chip mã hóa NVENC, nên chỉ cần chọn độ phân giải và chất lượng là bên trong sẽ xử lý mã hóa phù hợp. Bạn không cần tự chỉnh từng loại bộ mã hóa hay bảng bitrate phức tạp mà tải GPU vẫn được giữ thấp.

Games

Ghi lại các game này

Đọc tiếp

Bài viết liên quan

Bắt đầu với DOR ngay

Cài đặt và mở game, các khoảnh khắc nổi bật sẽ tự động được lưu thành clip