Private
Public Access
docs(twitter): add 1688491417109196800 corpus (NOTimothyLottes CRT-on-LCD sub-pixel multiplexing)
6-post thread, 6 images, HIGHEST engagement NOTimothyLottes thread in
corpus (98 likes, 18 reposts, 12960 views). CRT emulation on LCDs can
trigger LCD hardware bugs - Steam Deck example: 2x1 {G,RB} checker
inside a window affects the scan outside the window (Deck scan is
90deg rotated). Theory: 90deg scan gives {(bottom)R, G, B (top)}
sub-pixel components; alternate {G,RB} per pixel for new sub-pixel
pattern at different virtual resolution. Linear-energy-conserving in
theory, breaks down in practice. Tangent post 6 from
@realtimekeith on voltage-inversion crosstalk varying across TN/IPS/VA.
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 606 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 698 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 218 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 202 KiB |
@@ -0,0 +1,49 @@
|
||||
---
|
||||
title: "CRT emulation on LCDs can be hard. For example it's often easy to generate a pat"
|
||||
author: "NOTimothyLottes"
|
||||
handle: "@NOTimothyLottes"
|
||||
post_url: "https://x.com/NOTimothyLottes/status/1688491417109196800"
|
||||
post_id: "1688491417109196800"
|
||||
timestamp: "2023-08-07 10:04:59"
|
||||
post_count: 6
|
||||
reply_count: 2
|
||||
repost_count: 18
|
||||
like_count: 98
|
||||
view_count: 12960
|
||||
---
|
||||
|
||||
# @NOTimothyLottes — CRT emulation on LCDs can be hard. For example it's often easy to generate a pat
|
||||
|
||||
## Post 1 (2023-08-07 10:04:59)
|
||||
|
||||
CRT emulation on LCDs can be hard. For example it's often easy to generate a pattern that causes a LCD hardware bug. NOT joking. Here is an example on the Steam Deck. The pattern in the window affects the scan (Deck scan is rotated) outside the window.
|
||||
|
||||

|
||||

|
||||
|
||||
## Post 2 (2023-08-07 10:08:14) — reply to Post 1
|
||||
|
||||
The actual pattern is this (it's a 2x1 pixel checker of {G,RB}).
|
||||
|
||||

|
||||
|
||||
## Post 3 (2023-08-07 10:14:00) — reply to Post 2
|
||||
|
||||
The theory: Deck's 90deg scan results in {(bottom)R, G, B (top)} sub-pixel components. So could alternate {G,RB} only per pixel in a checker pattern to generate a new sub-pixel pattern at a different resolution. In this case trying for 640x400 virtual resolution.
|
||||
|
||||

|
||||
|
||||
## Post 4 (2023-08-07 10:18:28) — reply to Post 3
|
||||
|
||||
For virtual pixel, shift energy into masked virtual phosphor. So 50% brightness red, would be {100%, 0%} for {in, out} of phosphor pixels. Over 50% one starts to increase non-phosphor pixels until some maximum so mask is still visible, but brightness isn't too compromised.
|
||||
|
||||
## Post 5 (2023-08-07 10:23:35) — reply to Post 4
|
||||
|
||||
Of course this is done in linear, so it's energy conserving in theory. But when the panel fails, it breaks down and doesn't work. I see this problem on a bunch of different devices. My personal AMD laptop has the exact same fail case (but rotated differently).
|
||||
|
||||
## Post 6 (2023-08-10 03:29:30) — reply to Post 1
|
||||
|
||||
@NOTimothyLottes Very interesting "crosstalk from voltage inversion" artifact. Some repeating patterns or flicker patterns can trigger crosstalk artifacts too. Behavior varies a lot between TN, IPS, and VA, but all of them have to alternate voltage polarity spatially and temporally.
|
||||
|
||||

|
||||

|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"root_post_id": "1688491417109196800",
|
||||
"posts": [
|
||||
{
|
||||
"post_id": "1688491417109196800",
|
||||
"author": "NOTimothyLottes",
|
||||
"handle": "NOTimothyLottes",
|
||||
"text": "CRT emulation on LCDs can be hard. For example it's often easy to generate a pattern that causes a LCD hardware bug. NOT joking. Here is an example on the Steam Deck. The pattern in the window affects the scan (Deck scan is rotated) outside the window.",
|
||||
"timestamp": "2023-08-07 10:04:59",
|
||||
"media_urls": [
|
||||
"https://pbs.twimg.com/media/F265_JZXsAAInpa?format=jpg&name=orig",
|
||||
"https://pbs.twimg.com/media/F265_hLXkAAnfek?format=jpg&name=orig"
|
||||
],
|
||||
"reply_to_id": null,
|
||||
"quote_of_id": null,
|
||||
"metrics": {
|
||||
"reply_count": 2,
|
||||
"repost_count": 18,
|
||||
"like_count": 98,
|
||||
"view_count": 12960
|
||||
}
|
||||
},
|
||||
{
|
||||
"post_id": "1688492237775142912",
|
||||
"author": "NOTimothyLottes",
|
||||
"handle": "NOTimothyLottes",
|
||||
"text": "The actual pattern is this (it's a 2x1 pixel checker of {G,RB}).",
|
||||
"timestamp": "2023-08-07 10:08:14",
|
||||
"media_urls": [
|
||||
"https://pbs.twimg.com/media/F266epnW4AAdCiK?format=png&name=orig"
|
||||
],
|
||||
"reply_to_id": "1688491417109196800",
|
||||
"quote_of_id": null,
|
||||
"metrics": {
|
||||
"reply_count": 1,
|
||||
"repost_count": 0,
|
||||
"like_count": 3,
|
||||
"view_count": 905
|
||||
}
|
||||
},
|
||||
{
|
||||
"post_id": "1688493686554849280",
|
||||
"author": "NOTimothyLottes",
|
||||
"handle": "NOTimothyLottes",
|
||||
"text": "The theory: Deck's 90deg scan results in {(bottom)R, G, B (top)} sub-pixel components. So could alternate {G,RB} only per pixel in a checker pattern to generate a new sub-pixel pattern at a different resolution. In this case trying for 640x400 virtual resolution.",
|
||||
"timestamp": "2023-08-07 10:14:00",
|
||||
"media_urls": [
|
||||
"https://pbs.twimg.com/media/F267UYuXAAAO50A?format=png&name=orig"
|
||||
],
|
||||
"reply_to_id": "1688492237775142912",
|
||||
"quote_of_id": null,
|
||||
"metrics": {
|
||||
"reply_count": 1,
|
||||
"repost_count": 0,
|
||||
"like_count": 3,
|
||||
"view_count": 868
|
||||
}
|
||||
},
|
||||
{
|
||||
"post_id": "1688494811366506496",
|
||||
"author": "NOTimothyLottes",
|
||||
"handle": "NOTimothyLottes",
|
||||
"text": "For virtual pixel, shift energy into masked virtual phosphor. So 50% brightness red, would be {100%, 0%} for {in, out} of phosphor pixels. Over 50% one starts to increase non-phosphor pixels until some maximum so mask is still visible, but brightness isn't too compromised.",
|
||||
"timestamp": "2023-08-07 10:18:28",
|
||||
"media_urls": [],
|
||||
"reply_to_id": "1688493686554849280",
|
||||
"quote_of_id": null,
|
||||
"metrics": {
|
||||
"reply_count": 1,
|
||||
"repost_count": 0,
|
||||
"like_count": 1,
|
||||
"view_count": 1002
|
||||
}
|
||||
},
|
||||
{
|
||||
"post_id": "1688496100460605442",
|
||||
"author": "NOTimothyLottes",
|
||||
"handle": "NOTimothyLottes",
|
||||
"text": "Of course this is done in linear, so it's energy conserving in theory. But when the panel fails, it breaks down and doesn't work. I see this problem on a bunch of different devices. My personal AMD laptop has the exact same fail case (but rotated differently).",
|
||||
"timestamp": "2023-08-07 10:23:35",
|
||||
"media_urls": [],
|
||||
"reply_to_id": "1688494811366506496",
|
||||
"quote_of_id": null,
|
||||
"metrics": {
|
||||
"reply_count": 0,
|
||||
"repost_count": 0,
|
||||
"like_count": 2,
|
||||
"view_count": 957
|
||||
}
|
||||
},
|
||||
{
|
||||
"post_id": "1689479056448684032",
|
||||
"author": "Blur Busters",
|
||||
"handle": "BlurBusters",
|
||||
"text": "@NOTimothyLottes Very interesting \"crosstalk from voltage inversion\" artifact. Some repeating patterns or flicker patterns can trigger crosstalk artifacts too. Behavior varies a lot between TN, IPS, and VA, but all of them have to alternate voltage polarity spatially and temporally.",
|
||||
"timestamp": "2023-08-10 03:29:30",
|
||||
"media_urls": [
|
||||
"https://pbs.twimg.com/media/F3I8AZmW0AEy6jn?format=png&name=orig",
|
||||
"https://pbs.twimg.com/media/F3I8BVlXoAAnuJB?format=png&name=orig"
|
||||
],
|
||||
"reply_to_id": "1688491417109196800",
|
||||
"quote_of_id": null,
|
||||
"metrics": {
|
||||
"reply_count": 1,
|
||||
"repost_count": 0,
|
||||
"like_count": 1,
|
||||
"view_count": 159
|
||||
}
|
||||
}
|
||||
],
|
||||
"source_url": "https://x.com/NOTimothyLottes/status/1688491417109196800"
|
||||
}
|
||||
Reference in New Issue
Block a user