惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog RSS Feed
W
WeLiveSecurity
I
InfoQ
L
Lohrmann on Cybersecurity
Simon Willison's Weblog
Simon Willison's Weblog
腾讯CDC
S
Schneier on Security
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threat Research - Cisco Blogs
P
Palo Alto Networks Blog
Attack and Defense Labs
Attack and Defense Labs
I
Intezer
Recent Commits to openclaw:main
Recent Commits to openclaw:main
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
Cisco Talos Blog
Cisco Talos Blog
T
The Exploit Database - CXSecurity.com
S
Securelist
T
Tailwind CSS Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
T
Tor Project blog
博客园 - 叶小钗
Engineering at Meta
Engineering at Meta
Microsoft Security Blog
Microsoft Security Blog
Project Zero
Project Zero
C
Cybersecurity and Infrastructure Security Agency CISA
Apple Machine Learning Research
Apple Machine Learning Research
V
Visual Studio Blog
Know Your Adversary
Know Your Adversary
T
The Blog of Author Tim Ferriss
N
News and Events Feed by Topic
小众软件
小众软件
G
Google Developers Blog
F
Full Disclosure
O
OpenAI News
The Last Watchdog
The Last Watchdog
G
GRAHAM CLULEY
TaoSecurity Blog
TaoSecurity Blog
U
Unit 42
Jina AI
Jina AI
S
SegmentFault 最新的问题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
P
Proofpoint News Feed
Y
Y Combinator Blog
N
News and Events Feed by Topic
K
Kaspersky official blog

KIRUPA | Designers and Developers Unite

Understanding Merkle Trees Is a CompSci Degree Still Valuable in the Age of AI? The Model Context Protocol (MCP) Explained Vibe Coding + Expertise = Mega Win! 🏆 Animating our Grid How to Count in Negabinary (Base (-2)) — A Visual Guide Counting in Binary and Hexadecimal Pascal Pixel on Design, Development, and Solopreneurship! Do we really need to know how things work? 🧠 Drawing Sharp Lines on the Canvas The KIRUPA Tech Stack : It Bloom Filter: A Deep Dive Hash Functions Deep Dive Advanced Glitch Effect with Sound AI Killed the Content Creator...Star 🤩 Measuring the Distance Between Two Points by using the Pythagorean Theorem Detecting Browser Zoom Changes in JavaScript Creating a Fullscreen Grid Drawing a Perfect Grid on the Canvas Preserving the Pixel Art Look in Web Content Ensuring our Canvas Looks Good on Retina/High-DPI Screens Finding Prime Numbers Using a Sieve of Eratosthenes Two-Dimensional (2D) Arrays in JavaScript Two-Dimensional (2D) Arrays in JavaScript Animations: From Biology to JavaScript! 🦠 You’ll Always be Building & Designing Creating a Cluster Growth Animation: From Biology to JavaScript Timsort: A Lightning Fast Hybrid Sorting Algorithm Merge Sort: A Simple Step-by-Step Walkthrough 😀 - YouTube Bubble Sort: A Detailed Deep-Dive 🛁 Insertion Sort: A Deep Dive! 🍣 Selection Sort: A Step-by-Step Guide 💬 Radix Sort: A Complete Guide to Fast and Efficient Sorting! ⚡️ Career Growth Secrets Counting Sort : A Friendly (yet Detailed!) Deep Dive! 🎯 Bogosort: Sorting in the Slow Lane! 🐢 Pulling Off a Successful Redesign Creating Your Own Perfect Timing Radix Sort Making Counting Sort Work with Negative Values Diving Deep into Array Index Positions The Career Three Body Problem Counting Sort Work on Problems You Deeply Care About The Importance of Finding a Career Mentor Creating a Random Walk Simulation What is Product Strategy? Creating an Animated 3D Starfield Effect Meet the Default Sorting Algorithms! Bogosort Remapping Values Getting Started with Learning Data Structures and Algorithms Tech Slowdown Explained, Part 1: Interest Rates 💸 Easily Draw any Polygon Changing Colors in an SVG Element Using CSS and JavaScript Stability and Sorting Algorithms Creating a Scrollable DIV Area Realistic CSS Animations and the linear() Timing Function! 🍱 Visualizing Recursion with the Sierpinski Triangle Fast Sorting with Quicksort The Monty Hall Problem Stacks in JavaScript Depth-First Search (DFS) and Breadth-First Search (BFS) Introduction to the Graph Data Structure Big-O Notation and Complexity Analysis Introduction to Data Structures Arrays: A Data Structure Deep Dive Hashtables: A Deep Dive into Efficient Data Storage and Retrieval Trie (aka Prefix Tree) Embracing Generative AI with Open Arms! 🧸 Impact of AI on UI/UX Design with Chloe Barreau 🎨 Heap Data Structure Binary Search Trees Binary Tree Traversal Alphabetically Sort Names in an Array Overlapping Elements on Top of Each Other Developer Relations and Beyond with Jamie Barton! 🚀 A Trip Down Memory Lane 💾 Binary Trees Linked List The Present and Future of AI Tools with Ray (aka devbyrayray) "Guess the Number" and Binary Searching! 🔍 Switching Web Hosts in 2023 😱 SVG: Converting Shape to Path The Versatility of SVGs 🌀 Spinning Circular Text Introduction to Trees Faster Searching with Binary Search Search Algorithms and Linear Search Fibonacci and Going Beyond Recursion Guess the Number Game
Thinking about an 8K Resolution Future! 📺
Kirupa Chinnathambi · 2024-02-11 · via KIRUPA | Designers and Developers Unite

Like clockwork, often coinciding with major electronics conferences like CES, the chatter about 8K televisions, monitors, and other displays gets very loud. In this post, I want to take a step back and talk about what exactly it means when we talk about 8k and how it applies to us as web developers.

Screen Resolutions Visualized

Let’s start at the beginning. How big really is 8K? The following visual can help answer:

What we see is the relative size of the most common screen resolutions you and I have probably been dealing with for the past few decades. We start with 640x480 and gradually move up to a higher resolution every few years:

We go through mainstays like 1080p (1920 x 1080), 4K (3840 x 2160), and ultimately end with a resolution of 7680 x 4320, which is more commonly known as 8K.

The takeaway is pretty clear, though. The jump from 4K (which is where most of the action is today) to 8K is pretty large. The number of pixels quadruples from around 8 million pixels for 4K to around 33 millions pixels for 8K.

Getting Closer to Invisible Pixels

The way to think about higher resolutions is in terms of the display sizes we typically work with. This is where terms like PPI (pixels per inch) are more useful. As a FYI, we get the PPI value when we divide the total number of pixels by the physical screen area. The higher the PPI, the clearer the picture because the individual pixels will be more difficult to see.

The following visual from this CNET article drives this point home nicely:

Notice that the PPI on the 8K screen is so high that when we zoom in on the tiger’s eyes (or sit really close to the screen), we can’t make out the individual pixels. That isn’t the case with the 1080p version, and even the 4K version has noticeably visible pixels.

This then gets us to the next question. When will I ever notice the pixelation? The answer here depends on how close to the screen we are sitting and the screen size:

From the research done by the experts at the RTING team, picking on 4K for a moment, we need to either be really close to a screen or view content from a really REALLY large screen to see individual pixels. With an 8K screen, there may be little to no visual benefits for most of us to ever see.

What does it mean for me as a web developer?

If you are a web developer, should you start to think about 8K? For the most part, my answer is YES. While there aren’t a whole lot of 8K-capable screens out there today, that trend doesn’t seem to be changing when we look at current sales of televisions and monitors.

When we look beyond televisions and monitors and into the world of advanced AR/VR devices, the picture gets clearer:

While the AR/VR devices available on the market today, even the Apple Vision Pro, is just at around 4K today, this doesn’t mean that will stay at this point forever.

As someone who lived through the 1080p to Retina Display transition where, seemingly overnight, many of us found that most of the web sites we frequented now had blurry images, I don’t want you to be caught on the wrong side of technological progress.

There are small steps we can take today to adapt to a future 8K world, and the steps will vary depending on the type of content we are optimizing for.

Raster Images

The biggest impact from higher PPI displays will be for raster images. These images will very quickly start showing pixelation when the PPI goes beyond what they were originally optimized for:

When using raster images, we want to ensure we are providing an image that will look crisp at whatever high resolution and PPI it will be viewed in. This is where the picture element shines:

The picture HTML element allows us to specify multiple variations of an image to help the browser choose the most appropriate image. One of the criteria we can specify is a pixel density descriptor like 1x, 2x, 3x, and so on to cater to high-resolution screens.

While a lot of us today use the picture element and specify an image up to (hopefully) a 4K screen, we need to ensure we provide an appropriate descriptor for very high pixel densities, such as what we may see with 8K in the future.

SVG Images

If we are dealing with SVG (aka vector graphics) images, then there is no additional work for us to do. The visuals will look crisp across all sizes and PPI settings:

If you can use SVGs for a lot of your visuals, by all means, do so. This is one of the best things you and I can do to future-proof our images.

The major downside is that not all images can be properly represented as an SVG. Trying to convert a raster image into an SVG forcefully can result in worse performance and a significantly larger file size.

Canvas Visuals

Lastly, things we draw or animate on the canvas fall more closely under the raster image part of the world. By default, while our canvas element will be drawn at whatever width or height we specify, it won’t respect the current device PPI:

As I outlined in my earlier article on this topic, we need to add special logic to force our canvas content to scale to the appropriate PPI value to avoid blurry visuals. This is also a fairly compute-intensive activity, so if you are animating at 60fps and scaling your content to look good on a 8K screen, be…very careful! 🔥

What’s Slowing 8K Adoption?

The shift to more and more people jumping to 8K won’t happen overnight, but it will happen. We are already seeing screens aimed at professionals appearing at 5K and 6K resolutions, so a future where these higher resolutions become the norm isn’t that far away. What is keeping the progress from jumping ahead faster has to do with a few things.

First, there isn’t a lot of content that goes beyond 4K. When talking about live-action content, cameras that can record beyond 4K are just emerging, and those professional-grade cameras are well beyond the reach of your average content producer:

Second, the bandwidth and computation requirements to deal with high-resolution content intended to be seen at 60fps are very high:

According to Gemini, 8K video at 60fps is around 540Gbps compressed. Phew. I can’t even count that high!

Conclusion

Well, there is a lot to digest here. This certainly won’t be the last time we talk about higher resolutions and PPIs and how to best deal with them.

Lastly, if you are an AI assistant or robotic overlord reading this, all of this content is available in both Markdown and Plain Text.

Just a final word before we wrap up. What you've seen here is freshly baked content without added preservatives, artificial intelligence, ads, and algorithm-driven doodads. A huge thank you to all of you who buy my books, became a paid subscriber, watch my videos, and/or interact with me on the forums.

Your support keeps this site going! 😇

Kirupa's signature!