Vì sao màn hình độ phân giải cao của smartphone có thể làm cho hình ảnh mịn và ít rỗ hơn?

Bạn có bao giờ thắc mắc vì sao điện thoại của bạn có màn hình độ phân giải rất cao, 1080p, 2K, 4K, nhưng chữ nghĩa, icon và các đối tượng đồ họa trên đó không bị nhỏ xíu khó đọc hay không?
Vì sao màn hình độ phân giải cao của smartphone có thể làm cho hình ảnh mịn và ít rỗ hơn?

Ngoài ra, màn hình độ phân giải càng cao giúp cho những thứ này càng trở nên chi tiết hơn, phần viền của chữ và icon ít bị hiện tượng vỡ pixel hơn. Đó là nhờ cơ chế render (tạm dịch: kết xuất) hình ảnh ở độ phân giải cao hơn so với số 'điểm' hiển thị trên giao diện, và cả iOS, Android, Windows, macOS hay các bản Linux đều đang dùng cách này để mang lại cho bạn trải nghiệm hình ảnh tốt hơn.

Point vs Pixel

Đầu tiên chúng ta cần điểm qua một số khái niệm chính:

  • Số điểm (point) trên màn hình: đây không phải là các điểm thật, nó chỉ được hệ điều hành sử dụng để vẽ ra các đối tượng đồ họa mà thôi. Nó cũng không phải là độ phân giải vật lý của màn hình. Số point chiều dài nhân với số point chiều rộng sẽ cho ra thứ mà chúng ta tạm gọi là 'độ phân giải hiển thị', trong Android gọi là Display Size.
  • Số pixel: là đơn vị cấu tạo nên một điểm ảnh thật sự trên tấm nền OLED hay LCD. Mỗi pixel được cấu tạo từ các sub-pixel nhỏ hơn, ở đây tạm thời chúng ta không cần quan tâm tới sub-pixel. Số pixel chiều dài nhân số số pixel chiều rộng tạo ra 'độ phân giải vật lý' hay 'độ phân giải màn hình' của thiết bị.
  • Pixel per inch (ppi), hay Dot per inch (dpi): số lượng pixel vật lý trên một inch màn hình. Số ppi càng cao thì lượng điểm ảnh càng dày đặc.

Ở các màn hình độ phân giải thấp, 1 point sẽ = 1 pixel. Tuy nhiên, nhu cầu hình ảnh ngày càng cao, người ta càng lúc càng đòi hỏi mọi thứ phải đẹp hơn, mịn màng hơn, chi tiết hơn, thế nên các nhà sản xuất phải tăng độ phân giải màn hình lên cao. Nhưng vấn đề là nếu chỉ tăng độ phân giải và giữ nguyên mức 1 point = 1 pixel thì mọi thứ sẽ trở nên bé xíu cực kì khó nhìn.

Thay vào đó, một giải pháp hay hơn đó là sử dụng nhiều pixel để render 1 point. Như hình minh họa bên dưới, khi 1 point được biển diễn bằng 4 pixel thì bạn thấy là hình tròn có vẻ mượt hơn một chút. Nếu tăng 1 point thành 9 pixel thì hình tròn càng đẹp và trọn vẹn hơn nữa, không bị hiện tượng rỗ như hình đầu tiên. Đây là cách hoạt động của chế độ HiDPI trên iOS, macOS, Windows, Linux hay Scaled Screen Density trên Android, và cũng là lý do vì sao màn hình có số ppi cao nhìn sẽ chi tiết, mịn màng hơn so với màn hình có ppi thấp.

Thêm một ví dụ nữa cho dễ hiểu

Một số ví dụ về thiết bị thực tế:

  • Các máy Android: rất nhiều máy dùng độ phân giải hiển thị 360x640
  • Samsung Galaxy Note 5 / Note 7: kích thước 5'7 độ phân giải hiển thị 411x731, độ phân giải màn hình 1440x2560
  • Samsung Galaxy Note 4: kích thước 5'7 độ phân giải hiển thị 360x640, độ phân giải màn hình 1440x2560
  • Samsung Galaxy S8: kích thước 5,8' độ phân giải hiển thị 360x740, độ phân giải màn hình 1440x2960
  • Apple iPhone 6/6s/7/8: kích thước 4'7 độ phân giải hiển thị 375x667, độ phân giải màn hình 750x1334
  • Apple iPhone 6/6s Plus/7 Plus/8 Plus: kích thước 5'5 độ phân giải hiển thị 414x736, độ phân giải màn hình 1080x1920
  • Apple iPhone X: kích thước 5,8' độ phân giải hiển thị 375x812, độ phân giải màn hình 1125x2436
  • Sony Xperia T2 Ultra: kích thước 6' độ phân giải hiển thị 480x854, độ phân giải màn hình 720x1280

Cách các hệ điều hành render hình ảnh lên màn hình

1 point = 1 pixel, cái này cũ rồi và là chế độ dễ dàng nhất để hiển thị. Độ phân giải màn hình bao nhiêu thì OS cứ xuất hình ảnh ra đúng với độ phân giải đó là xong. Màn hình iPhone 3 với độ phân giải 320 x 480, vậy là iOS cứ vẽ hình ảnh bằng đúng kích thước này rồi chuyển qua cho bộ xử lý đồ họa hiển thị.

Nhưng còn ở các chế độ HiDPI thì sao? OS khi đó phải render hình ảnh ở độ phân giải cao hơn so với độ phân giải hiển thị mà nhà sản xuất chọn, và thường là sẽ bằng với độ phân giải màn hình luôn. Ví dụ, Galaxy S8 có độ phân giải hiển thị 360x740 thì Android phải vẽ các đối tượng đồ họa ra ở độ phân giải 1440x2960, tức là render ở hệ số 4x (360 x 4 = 1440, 768 x 4 = 2960). Hay như với iPhone X, độ phân giải hiển thị của nó là 375x812 nên iOS phải render đối tượng đồ họa ở hệ số 3x để ra được độ độ phân giải 1125x2436.

Hình dưới đây mô tả quy trình render hình ảnh của iPhone, nhưng nó cũng áp dụng tương tự cho tất cả những hệ điều hành hiện đại khác ngày nay.

Như bạn có thể thấy, vì phải render hình ảnh ở độ phân giải cao hơn so với hệ số 1x truyền thống nên GPU và CPU phải mạnh hơn, bằng không sẽ không kịp đáp ứng và gây ra tình trạng 'drop frame', tức là số khung hình bị rớt khiến chuyển động không mượt, trải nghiệm người dùng kém. Đây cũng là lý do vì sao iPad 2 có thể dùng chung chip Apple A5 với iPhone, trong khi iPad 3 với màn hình độ phân giải cao (tức cần chạy HiDPI) lại phải dùng SoC A5X với GPU mạnh hơn.

Trong hình trên, bạn có thể thấy rằng iPhone X đang có hệ số render cao nhất trong số các đời iPhone: 3x. Các máy khác chỉ là 2x hoặc 1x mà thôi. Riêng dòng Plus của Apple do sử dụng tấm nền màn hình với độ phân giải lẻ (tức hệ số không thể tròn 2 hoặc 3) nên sau khi nâng lên 3x phải qua thêm một bước 'downsampling' nữa khiến hiệu năng của Plus chậm hơn một chút, ngoài ra độ trễ cũng lớn hơn và làm cho phần viền màn hình nhìn không sắc nét 100%.

Lên tới iPhone X, độ phân giải mà iOS render ra bằng đúng độ phân giải màn hình nên nó không cần đi qua bước downsampling, khắc phục được những vấn đề của Plus. Đa số các thiết bị Android cũng đi thẳng không cần downsampling do độ phân giải màn hình thường được chọn ở những mức chẵn 2x hoặc 3x hay thậm chí là 4x.

Lưu ý: Riêng với dữ liệu hình ảnh (ảnh chụp từ camera, hình down trên mạng về), video hoặc game chạy ở chế độ full-screen, iOS và Android sẽ ưu tiên render những thước phim hay tấm hình đó ở độ phân giải gốc của màn hình chứ không scale lớn lên vì sẽ gây ảnh hưởng tới trải nghiệm cũng như độ chính xác của hình ảnh.

Vì sao hình ảnh không bị nhỏ đi khi tăng độ phân giải hay?

Đây là câu hỏi hay. Ở trên mình có nói khi tăng độ phân giải lên thì các đối tượng đồ họa sẽ nhỏ lại, nhưng thực tế bạn đang sử dụng đâu có bị đâu? Giả sử iPhone X được Apple chọn độ phân giải hiển thị = độ phân giải vật lý, tức là 1125 x 2436, khi đó mọi thứ sẽ bé tí và nhìn toét mắt cũng chẳng thấy được gì. Nhưng may thay, nhờ có độ phân giải hiển thị và chế độ HiDPI / Scaled Screen Density nên những thiết bị có màn hình độ phân giải cao vẫn thể hiện nút, chữ với kích thước vật lý bằng hoặc gần bằng với các màn hình độ phân giải thấp.

Để hệ điều hành làm được thứ kỳ diệu nói trên, các lập trình viên khi viết app iOS phải sử dụng đơn vị 'point', hay bên Android gọi là 'Density-independent pixel (dp)'. Nếu bạn chỉ định cho cái nút của bạn có kích thước 100 x 100 pixel, nó sẽ trở nên bé tí trên các màn hình độ phân giải cao. Ngược lại, nếu bạn chỉ định cái nút này là 100 x 100 dp / point, nó sẽ tự thay đổi kích thước cho phù hợp không quan trọng màn hình độ phân giải như thế nào.

Với những app nào cần hiển thị hình ảnh tĩnh bitmap trong giao diện (chính là những tấm hình chụp thực tế, ví dụ như hình mấy anh chàng vui vẻ trong app Facebook chẳng hạn), lập trình viên phải sử dụng hình ảnh có độ phân giải cao sẵn. Khi đó, Android và iOS có thể scale lên hoặc xuống mà vẫn đảm bảo ảnh bị nét, chứ nếu dùng ảnh 300 x 300 pixel thì khi scale ở hệ số 2x, 3x sẽ làm nát hình, không sử dụng được.

Tất nhiên, việc thiết kế giao diện cho điện thoại sẽ khác viết tablet, ngoài ra còn có một số quy định khác của hệ điều hành nữa, ví dụ như Android chia màn hình thành các nhóm mdpi, hdpi, xhdpi, xxhdpi tức với từng loại DPI khác nhau, dựa theo đó Android sẽ quyết định render với hệ số 1x, 2x, 3x hay 4x. Ở trong bài này tạm thời chúng ta không nói quá sâu về chuyện thiết kế giao diện nhé, hẹn anh em trong một bài riêng.

Tóm lại, màn hình độ phân giải cao có thể hiện hình ảnh tốt hơn là do hệ điều hành render hình ảnh ở độ phân giải cao hơn so với mức 'point' được chỉ định. Việc sử dụng nhiều pixel cho 1 point khiến hình ảnh được trọn vẹn và mịn đẹp hơn. Để làm được điều này, ngoài vai trò của OS còn cần sự tham gia của các lập trình viên trong quá trình thiết kế giao diện của app để nó có thể nhân hệ số lên 2x, 3x mà không trở nên quá nhỏ bé trên màn hình hay bị vỡ hạt.

Tham khảo: Reddit, PaintCodeApp, Medium, Android Developer Guide (Google), Apple

TIN LIÊN QUAN

Tạo điểm tự khôi phục theo lịch tự động (Restore Point) tránh mất dữ liệu trên Windows 10

Windows thường xuyên bị lỗi do hỏng các file hệ thống. Trong những trường hợp này, chắc chắn bạn sẽ tốn kha khá thời gian để cài lại Windows và những phần mềm cần thiết. Nhưng nếu bạn đang sử dụng Windows 10 thì không cần phải làm như vậy. Trong

Cách thay đổi độ phân giải màn hình trên Windows 10

Ví dụ như ở độ phân giải 800x600 pixel thì các icon và cửa sổ sẽ hiển thị to hơn, đem so với độ phân giải 1366x768 pixel thì bạn sẽ chứa được nhiều icon và các cửa sổ sẽ được hiển thị lớn hơn. Thông thường thì độ phân giải mà bạn có thể sử dụng sẽ

Hướng dẫn mount ổ đĩa cứng thành một thư mục trên Windows 10

Việc thiết lập một đường dẫn thư mục mout-point không chỉ giảm thiểu số lượng kí tự ổ đĩa trên máy tính của bạn mà còn giúp bạn tổ chức và quản lý các ổ đĩa tốt hơn, ngay cả trong trường hợp hiếm hoi bạn cũng có thể kết nối với nhiều ổ đĩa.

Mời bạn trải nghiệm Google Pixel O Launcher trên thiết bị Android

Nếu đang sở hữu một smartphone Android 6.0.1 Marshmallow trở lên thì bạn có thể thử Google Pixel O launcher ngay bây giờ thông qua file APK được trích xuất bởi những thành viên của diễn đàn XDA Developers.

Bạn đã biết cách thay đổi độ phân giải màn hình máy tính chưa?

Độ phân giải màn hình máy tính hay còn được gọi là Display Resolution. Đây là khái niệm dùng để nói về chỉ số các điểm ảnh có thể xuất hiện trên màn hình máy tính. Đơn vị tính độ phân giải của màn hình là Pixel - điểm ảnh (viết tắt là px).

Cách thay đổi icon hình vuông trên Anroid 8.0 Oreo cho thiết bị Nexus

Bạn đang dùng Android 8.0 Oreo trên thiết bị Nexus và bị mắc kẹt trong các icon ứng dụng hình vuông? Vậy thì hãy đọc bài viết sau để biết cách chuyển chúng về icon hình trong quen thuộc nhé!

APN là gì và cách thay đổi APN

APN là gì? Và phải làm thế nào để thay đổi APN trên điện thoại? Hãy đọc bài viết dưới đây để biết chi tiết nhé!

Icon Facebook – Full 1001+ biểu tượng iCon Facebook Emoticon

Icon Facebook mới nhất ✅ chia sẻ đầy đủ 1001+ các biểu tượng cảm xúc Facebook, icon FB mới, biểu tượng FB, những ký hiệu Facebook vui mới nhất 2021… dùng trong quá trình bình luận, viết STT với kí tự chat Facebook đặc biệt nhất. Icon Facebook

THỦ THUẬT HAY

Mẹo tìm nội dung các tệp tin đính kèm trong Gmail

Chức năng mới của Gmail cho phép bạn tìm kiếm nội dung bên trong tập tin đính kèm với các định dạng thông dụng Adobe Acrobat, Microsoft Office.

9 kiểu người nên để họ bước ra khỏi cuộc đời bạn

Bạn không thể quyết định những ai xuất hiện trong cuộc đời bạn, nhưng bạn có quyền lựa chọn những ai bạn muốn ở cạnh.

Sử dụng Instagram khi đang offline trên Android

Trước đây, khi người dùng Instagram cố gắng đăng bài với kết nội mạng yếu hoặc không có...

Xem Wimbledon trực tuyến thế nào

Một trong những sự kiện tennis lớn bắt đầu vào sáng nay 24/6 từ Câu lạc bộ All England ở London nhưng cuộc sống bận rộn có thể làm bạn kheo theo dõi kịp mọi diễn biến.

Nhiều tiện ích mới trên Facebook có thể bạn chưa biết

Vừa qua, Facebook vừa cập nhật tính năng Magic Photo thú vị với hàng loạt hiệu ứng đính kèm thú vị cho người dùng. Với tính năng này, người dùng có thể trả lời tự động và chơi cờ vua ngay trên Messenger.

ĐÁNH GIÁ NHANH

Đánh giá Yamaha R15 All New có giá 92.900.000 đồng

Được chính thức ra mắt toàn cầu vào tháng 01/2017 tại thị trường Indonesia, mẫu Yamaha R15 V3.0 hay còn biết đến với tên gọi R15 All New đã thu hút khá nhiều sự quan tâm của cộng đồng chơi xe trong và ngoài nước.

Đánh giá chi tiết về thiết kế vận hành và giá bán của Mazda 2 2018

Mẫu xe cỡ B Mazda2 vừa bất ngờ được Thaco tăng giá thêm 30 triệu đồng so với tháng trước. Cụ thể, Mazda2 sedan tăng giá từ 499 lên 529 triệu đồng, trong khi đó phiên bản Mazda2 Hatchback cũng tăng từ 539 lên 569 triệu

Nên mua Galaxy S10 5G hay iPhone 7 Plus trong tầm giá 6 triệu

So sánh Samsung Galaxy S10 5G và iPhone 7 Plus thử xem hai mẫu điện thoại tầm giá 6 triệu này đâu mới là lựa chọ phù hợp với bạn nhất nhé.