Làm thế nào để Windows Aero ngăn ngừa rách màn hình?


14

Khi Windows Aero được bật, sẽ không có hiện tượng rách màn hình nào, trái ngược với khi sử dụng chủ đề Cơ bản mà không có Aero.

Tuy nhiên, tại sao các trò chơi có đồng bộ hóa dọc dường như có độ trễ đầu vào lớn hơn nhiều so với khi thực hiện một thao tác nào đó trên máy tính để bàn? Nó thậm chí dường như đồng bộ hóa các trò chơi có cửa sổ khi tắt V-sync, tốt hơn so với khi chúng sử dụng bất kỳ phương thức nào được tích hợp vào trò chơi.

Tại sao và làm thế nào điều này xảy ra, hoặc dường như xảy ra?

Câu trả lời:


8

Trên thực tế, lý do Aero có thể ngăn việc xé rách mà không phải buộc VSYNC trong ứng dụng là vì đây là trình quản lý cửa sổ tổng hợp. Nó vẽ máy tính để bàn và tất cả các cửa sổ không đồng bộ với bất kỳ ứng dụng nào đang chạy.

Điều đó có nghĩa là, khi bạn kích hoạt tính năng tổng hợp trong Windows Vista / 7 (nó luôn được bật trong Windows 8), nó sẽ vẽ tất cả các cửa sổ bằng cách sử dụng một bản sao của hình ảnh cuối cùng được hoán đổi từ sau ra trước. Bộ tổng hợp (Microsoft gọi nó là DWM, Desktop Window Manager ) kết hợp mọi thứ với VSYNC được kích hoạt và bởi vì nó vẽ bằng cách sử dụng một bản sao của hình ảnh bộ đệm phía trước được tráo đổi hoàn toàn cho mỗi cửa sổ, nó không bao giờ hiển thị các khung được vẽ một phần. Tuy nhiên, nó có một tác dụng phụ đáng tiếc là ngăn chặn phần mềm thực sự cũ được thiết kế để rút vào bộ đệm trước hoạt động chính xác - nhưng phần mềm hiện đại không làm được điều này.

Tóm lại, DWM bổ sung thêm một lớp bảo vệ chống rách. Một ứng dụng sẽ cho phép mọi ứng dụng chạy trên hệ thống rút ra với tốc độ bất kể tốc độ làm mới của màn hình và vẫn không bị rách. Trên một hệ thống như vậy, ở chế độ cửa sổ, điều duy nhất cho phép VSYNC trong OpenGL hoặc Direct3D là tốt cho việc sử dụng CPU / GPU.

Đây là lý do tại sao VSYNC thích ứng được tạo ra, ý tưởng không phải xử phạt các ứng dụng không thể duy trì tốc độ làm mới màn hình bằng cách buộc chúng vào hệ số thấp hơn của tốc độ làm mới (ví dụ: 60 Hz -> 30, 20, 15, 10, 12 , 6, 5, 4, 3, 2, 1) nhưng để hạn chế các ứng dụng vẽ nhanh hơn màn hình có thể hiển thị hình ảnh từ việc sử dụng quá nhiều năng lượng CPU / GPU.


5

Khi bật tính năng Aero, Trình quản lý cửa sổ màn hình sử dụng bộ đệm đôi :

Tính năng Windows Aero giúp sử dụng rộng rãi bộ đệm đôi để vẽ trên màn hình.

Nguồn

Wikipedia có điều này để nói về cách sử dụng tính năng này với V-sync để ngăn rách màn hình:

Trong khoảng thời gian xóa trống dọc, trình điều khiển yêu cầu thẻ video sao chép nhanh chóng khu vực đồ họa ngoài màn hình vào khu vực hiển thị hoạt động (đệm đôi) hoặc coi cả hai vùng nhớ là có thể hiển thị và chỉ cần chuyển qua lại giữa chúng (trang lật).


6
Bộ đệm đôi không ngăn được sự xé rách, nó ngăn người dùng nhìn thấy mọi thứ trong quá trình được hiển thị. Nếu bạn được đệm đôi và bạn thực hiện lật trang ở giữa màn hình làm mới, bạn vẫn bị rách.
Wyzard

Tất nhiên bạn vẫn có thể bị rách nếu bạn thực hiện đệm đôi sai, nhưng điểm quan trọng là DB có thể được sử dụng để ngăn rách.
nitro2k01

3

Bộ đệm đôi + V-sync trên kết quả không bị rách. Hàng không xảy ra để sử dụng cấu hình đó.


2

DWM (công nghệ kích hoạt hiệu ứng Aero) hiển thị mọi thứ trong màn hình của bạn dưới dạng bề mặt D3D (giúp video có thể tiếp tục phát trên Flip). Kỹ thuật kết xuất này tự động ngăn ngừa xé rách , mặc dù phương thức trò chơi nên tốt hơn phương thức DWM chung (rốt cuộc, đó là công cụ của riêng họ). Vì vậy, có khả năng phương pháp trò chơi không tốt ở nơi đầu tiên hoặc không được tối ưu hóa cho cấu hình của bạn.


2
Chính nó, việc sử dụng Direct3D không ngăn được hiện tượng rách màn hình. Đó là bộ đệm đôi.
bwDraco
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.