Một tối ưu hóa cho việc xử lý trục xuất bộ nhớ cache cơ sở dữ liệu shader của Mesa đã được hợp nhất với Mesa 23.1 với trọng tâm là mang lại lợi ích cho bộ nhớ đệm trước shader của Steam.

Dmitry Osipenko của Collabora đã thấy yêu cầu hợp nhất cách đây một tháng của mình cuối cùng cũng được thực hiện để tối ưu hóa quy trình xóa bộ nhớ cache của cơ sở dữ liệu đổ bóng Mesa. Osipenko đã giải thích trong MR:

Bất cứ khi nào mesa-db bộ đệm đạt đến giới hạn kích thước, một nửa bộ đệm bị xóa. Nói chung, nó hoạt động tốt, nhưng một số trường hợp sử dụng đang bị trục xuất bộ đệm lớn. Cụ thể, bộ nhớ đệm trước trình đổ bóng Steam có thể dễ dàng lấp đầy bộ nhớ đệm Mesa shader và trong trường hợp này, tốt hơn hết là giữ nhiều mục trong bộ đệm hơn là xóa một nửa bộ đệm.

Để giảm thiểu các lần trục xuất bộ nhớ cache lớn, chúng tôi sẽ chia bộ nhớ cache mesa-db thành nhiều phần nhỏ hơn sao cho chỉ một phần sẽ bị xóa tại một thời điểm. Trung bình, MR này giúp giảm thời gian trục xuất bộ nhớ cache xuống x40 và cải thiện đáng kể tỷ lệ truy cập bộ nhớ cache sau khi đạt đến giới hạn kích thước bộ nhớ cache.

Tính năng này thêm các biến môi trường MESA_DISK_CACHE_DATABASE_NUM_PARTS và MESA_DISK_CACHE_DATABASE_EVICTION_SCORE_2X_PERIOD để kiểm soát mesa-db tốt hơn xử lý bộ đệm. Với việc sử dụng tính năng mới cho bản phát hành Mesa 23.1 trong quý tới,”Bản vá này giúp cải thiện hiệu suất x40 về thời gian loại bỏ bộ đệm bằng cách sử dụng bộ đệm nhiều phần so với bộ đệm một tệp do các phần loại bỏ nhỏ hơn và thuật toán loại bỏ được tối ưu hóa hơn.”

Categories: IT Info