Hướng dẫn

Vì sao điểm lần chạy đầu thấp hơn? Vai trò của biên dịch shader

Vì sao lần kiểm tra GPU đầu tiên có thể thấp hơn, biên dịch shader ảnh hưởng đến FPS thế nào và vì sao nên ghi kết quả sau lần khởi động.

🚀 volumeshadertest
8 thg 7
5 phút đọc
Vì sao điểm lần chạy đầu thấp hơn? Vai trò của biên dịch shader

Điểm lần chạy đầu có thể thấp hơn vì trình duyệt và trình điều khiển vẫn đang biên dịch, liên kết các chương trình shader. Volume Shader BM Test dùng fragment shader với nhiều vòng lặp raymarching, nên lần đầu có thể bao gồm công việc chuẩn bị mà các lần sau không phải thực hiện lại.

Điều gì xảy ra trước khi kết xuất?

Khi bắt đầu một chế độ kiểm tra, trình duyệt tạo các chương trình shader WebGL. Trình điều khiển biên dịch mã nguồn shader, liên kết thành chương trình GPU, cấp phát bộ đệm và chuẩn bị quá trình kết xuất. Một phần công việc này diễn ra trước khung hình đầu tiên; phần khác vẫn có thể ảnh hưởng đến các khung hình ban đầu.

Ảnh hưởng đến kết quả

Hiện tượng Nguyên nhân có thể Cách xử lý
Lần đầu thấp hơn lần thứ hai Biên dịch shader và khởi tạo bộ nhớ đệm Dùng lần thứ hai để so sánh
Vài giây đầu giật, sau đó ổn định Trình điều khiển chuẩn bị quá trình kết xuất Theo dõi FPS P10 và độ ổn định
Mỗi lần chạy lại đều thấp hơn Giảm hiệu năng do nhiệt hoặc pin Để thiết bị nguội
Điểm chỉ giảm khi dùng pin Chính sách nguồn điện Cắm nguồn hoặc tắt tiết kiệm pin

Quy trình đề xuất

Chạy cùng một mức tải một lần để khởi động. Đóng bảng kết quả. Chạy lại cùng mức tải trong cùng điều kiện và ghi kết quả lần thứ hai. Nếu cả lần thứ hai và thứ ba tiếp tục giảm, nguyên nhân có thể là giảm hiệu năng do nhiệt, thay vì biên dịch shader.

Vì sao cần ghi rõ điều này trong kết quả công khai?

Mỗi kết quả công khai nên nêu rõ đã chạy khởi động hay chưa, trình duyệt, mức tải và tình trạng nhiệt dễ nhận thấy. Thiếu những thông tin này, hai kết quả có cùng tên thiết bị vẫn có thể không so sánh được.

Đọc thêm

Thẻ
Biên dịch shaderFPSPhương pháp đo