Warning: mysqli::__construct(): (HY000/1203): User howardkn already has more than 'max_user_connections' active connections in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\includes\artfuncs.php on line 21
Failed to connect to MySQL: (1203) User howardkn already has more than 'max_user_connections' active connections
Warning: mysqli::query(): Couldn't fetch mysqli in D:\Inetpub\vhosts\howardknight.net\al.howardknight.net\index.php on line 66
Article <v17d7d$1o5mm$1@dont-email.me>
Deutsch   English   Français   Italiano  
<v17d7d$1o5mm$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!feeds.phibee-telecom.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: BGB <cr88192@gmail.com>
Newsgroups: comp.arch
Subject: Re: Byte Addressability And Beyond
Date: Sun, 5 May 2024 02:41:30 -0500
Organization: A noiseless patient Spider
Lines: 100
Message-ID: <v17d7d$1o5mm$1@dont-email.me>
References: <v0s17o$2okf4$2@dont-email.me>
 <2024May3.171330@mips.complang.tuwien.ac.at> <v13olm$p9ih$9@dont-email.me>
 <v144s1$1r3q$1@gal.iecc.com> <v1491h$10fkm$1@dont-email.me>
 <v14lfr$12s06$3@dont-email.me> <v168k8$1der7$1@dont-email.me>
 <59dc9467ddadd2cdabd06f3f05049823@www.novabbs.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Sun, 05 May 2024 09:41:34 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="cc08dcaf13314637553bde0ccb7c7647";
	logging-data="1840854"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19fpD9aF2wxEJ4bjTXGXudIMe6ZXY1sZAs="
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:OS9HdACwDizIPz2CEhSlRdRBL7A=
In-Reply-To: <59dc9467ddadd2cdabd06f3f05049823@www.novabbs.org>
Content-Language: en-US
Bytes: 5127

On 5/4/2024 7:11 PM, MitchAlsup1 wrote:
> BGB wrote:
> 
>> On 5/4/2024 1:44 AM, Lawrence D'Oliveiro wrote:
>>> On Fri, 3 May 2024 22:11:44 -0500, BGB wrote:
>>>
>>>> Not a huge use-case in graphics, as noted, in most cases this is done
>>>> with 16 or 32 bit pixels; and bit-plane graphics are long since dead.
>>>
>>> What happens if we go beyond 32 bits? For example, hardware might
> support
>>> 10 bits per pixel component.
> 
>> A few typical formats:
>>    RGB555: 0rrrrrgg-gggbbbbb
>>    RGBA32: aaaaaaaa-rrrrrrrr-gggggggg-bbbbbbbb
>>    RGB30 : 00rrrrrr-rrrrgggg-ggggggbb-bbbbbbbb  (10-bit component RGB)
> 
>> Though, for RGB30, there are variants with 10-bit linear RGB, and 
>> E5.F5 floating-point (sometimes used for HDR in OpenGL, as opposed to 
>> 4x Binary16).
> 
>> None of these would really benefit from bit addressable memory though.
> 
> Nor are they serviced by any SIMD ISA.
> 


Converter ops can make it work...

For working with RGB555, Pack/Unpack ops and SIMD are still a lot faster 
than using a bunch of shift-and-mask...



>> Though, for LDR, going beyond 8-bit color depth doesn't gain much even 
>> if the monitor supports it natively. And had noted before when using a 
>> cheap LCD TV as a monitor, that it only seemed to be working at a 
>> roughly 6-bit color depth (like, it was seemingly slightly better than 
>> RGB555, but not by much).
> 
> Most people's eyes cannot even see the difference unless it is pointed
> out to them.
> 

If you mean, cheap LCD TV being ~ 6 bit.

Yeah, pretty much, was still plenty usable, though slightly annoying 
when doing graphics editing tasks.


Apparently also a lot of VGA and SVGA cards had 6 bit DAC's, so one was 
only actually getting ~ 6-bit/component depth in TrueColor modes.

And, also, similar for a lot of early LCD monitors.
To some extent, 16M colors was a lie, it was more like 256K colors.

But, it was "good enough" that most people didn't notice (wheres, with 5 
or 4 bits, they would have noticed).


>> Now I am using a 4K OLED, which does support 10b/component, but it 
>> doesn't make much difference in practice (and even if it did, most 
>> software wont make much use of it).
> 
>> But, say, 5 to 8 bits per component is at least noticeable (better 
>> colors and less banding artifacts), 8 to 10 bits, not so much. Though, 
>> with the main exception being HDR (but then, over the 0.5 to 1.0 
>> range, E5.F5 is only about as accurate as a 6-bit component).
> 
> Posterization is still a problem at 8-bits.

I hadn't really noticed any issue at (true) 8 bits.

But, it is a bit more obvious at 5 bits.
But, RGB555 is half the size of RGBA32 / RGBA8888, and "mostly good 
enough" for many tasks (and ironically, RGB555 tends to be slightly 
preferable to 565 because 565 can't accurately recreate shades of gray, 
so a gray gradient will have alternating green and purple tinted bands...).


Generally, RGB555 is still a significant improvement over 256-color.

Like, no obvious "good" way to get good quality from 256 color.
One traditional option being 216 color (6*6*6 R*G*B), but, while it can 
be colorful, it does rather poorly with things like gradients or 
graphics dominated by light-vs-dark features (IOW: pretty much 
everything that isn't a UI element or cartoon drawing).

Had ended up with a 14 shades of 18 colors scheme, which trades off 
being worse for color fidelity, with being a lot better at gradients.

Then ended up encoding the palette and hicolor -> indexed tables as a 
256x256 bitmap (where, it is 256x256 rather than 256x128, mostly as to 
allow for dithering). And, storing this table because it takes an 
annoyingly long time to rebuild the lookup table from a color palette on 
a 50 MHz CPU.

....