VnReview
Hà Nội

Windows và cuộc chạy đua DPI (P2)

Như chúng tôi đã giới thiệu trong phần trước, Windows sử dụng ảo hóa DPI để cải thiện các ứng dụng DPI-unaware và các ứng dụng có thể tùy chọn sử dụng hay không sử dụng tính năng này. Nhưng cho đến hiện tại, chúng ta chỉ nhìn thấy các ứng dụng không tuân theo mong muốn của các nhà lập trình. Và giờ là những ứng dụng thực sự bị phá hỏng với hệ thống High DPI.

5. Khi tất cả thực sự sai lầm

Ví dụ này được lấy toàn bộ từ Adobe. Bởi vì Adobe có xu hướng thiết kế lại giao diện người dùng cho riêng mình. Không giống như hầu hết các ứng dụng (ít nhất là các ứng dụng Windows như Windows Presentation Foundation (WPF) hoặc Windows Forms), gần như toàn bộ giao diện được tạo ra bởi Adobe. Tại độ phân giải 3200x1800 và tỷ lệ 200% kết quả mang lại khá tồi tệ. Đầu tiên - trình tải về của Adobe.

Adobe thực sự có phong cách riêng. Ngay cả trình tải về cũng có giao diện người dùng tùy chỉnh. Khung văn bản khá tốt nhưng có một chút khó khăn khi đọc. Tiếp theo là một ứng dụng thường xuyên được sử dụng – Adobe Reader XI.

(Bấm vào để mở kích cỡ lớn hơn)

Phần trình đơn hữu dụng nhưng các biểu tượng shortcut quá nhỏ. Các công cụ, phần đăng ký và các khung bình luận cũng nhỏ và thực tế là khó sử dụng. Khi sử dụng những phần mềm như thế này, ta có thể hiểu tại sao hệ thống High DPI trên Windows lại bị đánh giá thấp. Cuối cùng là ứng dụng Photoshop Elements.

(Bấm vào để mở kích cỡ lớn hơn)

Ứng dụng này là một ví dụ cho sự tồi tệ của hệ thống High DPI trên Windows. Adobe thậm chí đã thay thế các trình đơn tập tin với một giao diện người dùng tùy chỉnh ( nghĩa là mỗi thành phần riêng lẻ trong phần mềm này đều không được mở rộng).

Nghịch lý lớn nhất nằm ở những khách hàng của Adobe – thường là những chuyên gia, những người sớm làm quen với những công nghệ mới như màn hình 4K hay máy tính xách tay có độ phân giải cực cao. Hy vọng Adobe sẽ có những giải pháp cho vấn đề này.

6. Windows 8.1 – Nhiều sự thay đổi với DPI

Khi Microsoft tung ra Windows 8.1, nó tiếp tục cải tiến tính năng xác lập tỷ lệ. Để hỗ trợ người dùng sử dụng máy tính bảng, giờ đây Windows 8.1 có khả năng thiết lập DPI độc lập tùy vào mỗi màn hình. Điều này vô cùng cần thiết với bất cứ ai sử dụng Surface Pro (độ phân giải 1920x1080, trên màn hình 10.6 inch), sau đó kết nối với một màn hình 1080p lớn gấp 2-3 lần màn hình của chiếc Surface. Hãy tưởng tượng chiếc Surface Pro được thiết lập tỷ lệ 150%, nhưng khi kết nối với màn hình 24 inch, mọi thứ sẽ trở nên "khổng lồ" tới mức nào? Trải nghiệm sẽ vô cùng khủng khiếp!

Tuy nhiên, hai tùy chỉnh DPI độc lập không phải không có những thách thức của nó. Ứng dụng ban đầu được thu nhỏ tại các thiết lập DPI sau đó mới được phóng to. Với bất kì hệ thống đa màn hình, hệ điều hành phải xử lý vấn đề di chuyển ứng dụng từ màn hình này qua màn hình khác. Nếu ứng dụng được thu nhỏ tại DPI ban đầu thì làm thế nào để bạn giữ cho nó không quá nhỏ hoặc quá to khi di chuyển? Giải pháp lại là ảo hóa DPI và một lần nữa nó không phải giải pháp lý tưởng.

Các tính năng được bổ sung qua từng phiên bản Windows

Nếu màn hình ban đầu có DPI thấp hơn, ứng dụng sẽ được mở rộng khi di chuyển và ngược lại. Cũng giống trên Vista, vấn đề ở đây là sự sắc nét không còn được như ban đầu. Xung quanh vấn đề này, Microsoft đã mở rộng hàm API cho các ứng dụng nhận dạng được DPI trên mỗi màn hình (per-monitor DPI-aware).

Khi đó, ứng dụng có khả năng nhận dạng DPI sẽ tự động tái xác lập tỉ lệ khi di chuyển giữa hai màn hình. Chúng có thể thực hiện điều này nhờ hệ điều hành gửi bản tin WM_DPICHANGED khi ứng dụng di chuyển giữa 2 màn hình có DPI khác nhau. Bản tin bao gồm cả mức DPI đề nghị nhưng ứng dụng có thể chọn bất kì giá trị nào nó muốn.

Mọi vấn đề DPI đều chỉ liên quan đến máy tính để bàn. Đơn giản vì giao diện Modern trên Windows 8 đi kèm với những ứng dụng mới ( vấn đề này chỉ xảy ra trên các ứng dụng cũ) tương tự như trên iOS và Android.

7. Windows 8.1 – Những ứng dụng trên Windows Store

Những ứng dụng trên nền Modern tương thích rất tốt với thiết bị High DPI. Như các phần mềm trên Windows Store được Windows tự động mở rộng theo tỷ lệ dựa trên kích thước màn hình , độ phân giải và hình thức thiết bị. Những ứng dụng này được khuyến khích sử dụng véc-tơ đồ họa để mở rộng nếu có thể hoặc nhiều bản sao hình ảnh bitmap để tăng độ nét.

Ngoài ra, việc khai báo nhận dạng DPI giờ không cần thiết. Thay vào đó, bố cục XAML và đồ họa SVG sẽ giúp ứng dụng thay đổi tỷ lệ theo hệ điều hành.

Đây là Adobe Touch, một ứng dụng trên Windows Store, một phiên bản của Adobe Reader. Nó có giao diện chuẩn xác và hoàn hảo ở độ phân giải 3200x1800.

8. Lời kết

Trong thực tế, Windows luôn phải tích hợp các hàm API cùng với các mã kế thừa để giúp những ứng dụng phiên bản trước có thể tương thích với các phiên bản hệ điều hành mới hơn. Ngoài ra, Windows cũng phải hỗ trợ các kích thước, độ phân giải màn hình cùng với những kích cỡ thiết bị khác nhau. Bởi những lý do trên, thật khó khăn để Windows có thể tương thích với những sự đổi mới liên tục trong công nghệ.

Hệ điều hành Windows 8.1 hiện nay có 3 trạng thái ứng dụng khác nhau:

"DPI-Unaware", "System DPI-Aware" và Per-Monitor DPI-Aware cùng với các giải pháp tương ứng. Thêm vào đó là một trạng thái ứng dụng không chính thức thứ 4: "DPI-Unaware" giả lập như các ứng dụng trong chế độ "DPI-Aware". Hiện vẫn chưa có giải pháp tương ứng cho các ứng dụng không chính thức này này.

Một giải pháp tăng tạm thời tỷ lệ các ứng dụng mà nhờ đó có thể bỏ qua các cờ "DPI-Aware" hiện đang được hoàn thành. Giải pháp này cho phép "ảo hóa DPI" có thể tăng tỷ lệ các ứng dụng khi cần thiết. Đây không phải cách giải quyết lý tưởng cho các vấn đề. Tuy nhiên, để có thể làm việc với một hệ điều hành có số lượng khổng lồ các ứng dụng mà trong đó có những ứng dụng không bao giờ được cập nhật để sửa chữa các lỗi như Windows thì giải pháp này thực sự cần thiết.

Vậy liệu có nên tránh sử dụng các thiết bị "High DPI" cho đến khi các ứng dụng trên đó thực sự vận hành tốt? Câu trả lời là không. Quả là lãng phí khi từ bỏ chúng. Ưu điểm của việc sử dụng màn hình có độ phân giải cao đó là bạn luôn có thể tùy chỉnh độ phân giải xuống thấp khi cần (giả sử với ứng dụng Photoshop). Thêm vào đó, bạn sẽ có trải nghiệm tuyệt vời với màn hình cùng các điểm ảnh sắc nét, chữ viết trên các văn bản rõ ràng cùng với độ hiển thị tuyệt vời cho ứng dụng giải trí.

Khi Apple cho ra mắt mẫu MacBooks màn hình Retina thì các ứng dụng của nó cũng cần một khoảng thời gian để được cập nhật. Tương tự vậy với các ứng dụng của Windows, việc đầu tư cho một hệ thống "High DPI" sẽ càng ý nghĩa hơn để người dùng có được một trải nghiệm tốt nhất. Điều này phụ thuộc vào phiên bản tiếp theo của hệ điều hành Windows. Thời gian sẽ là câu trả lời chính xác nhất!

Bài liên quan:

Windows và cuộc chạy đua DPI (Phần 1)

Hoàng Anh

Theo AnandTech

Chủ đề khác