There is a rarely used desktop mode that consists of a bitmap of indices ranging from 0-255 (one byte) into an array of 3/4 byte colour values. If you wish to change all the pixels on a display of one colour, you can using one write to the palette instead of a scan of all the pixels doing a comparison and a read and write for each. The main problem has been that 256 colours are not enough to go around when you have many display elements, Windows switches palettes to the palette of the active window and generally forces all windows to share a subset of colours.
What if each pixel were a two byte index into a palette 4 bytes wide? You could fetch twice as many pixels during a read, but you have to read the palette entries anyway, making the advantage moot, also you are accessing non sequential parts of ram, anothing inefficiency. The benefit would be on the side of changing large sections of the display using one write. Overall though, you can see the reason why such a mode isn't on the roster, it is just as much work and you have more control over individual pixels. Also, there is 16 bit mode, which many consider pretty good, but I find really has limited colour values which would be neatly solved if each pixel were an index into real colours.
Ok, the thought I had came to me when considering larger colour palettes of 64 bits+, wouldn't the savings and features balance shift once again to palettes? From what I understand textures are rarely larger than 256x256 in use in today's games, and future games are using finer details, if you wanted textures with greatter than 32 bit precision, or one with a large alpha channel seems to me a palette would be handy, for 256x256 you'd have a palette entry per pixel. There is probably something like that already in existance, but I wouldn't know. The problem has become one of filling larger and larger areas of the display, between higher desktop resolutions and multiple monitors, and Windows headed towards more and more eye candy, seems to me a reconsideration of palettes would solve some problems.
Of course, it would probably never be an option, any new idea has to be able to fit into the current legacy of the PC, but this seems to be a forum for discussing random ideas, so I thought I'd ramble on.
What if each pixel were a two byte index into a palette 4 bytes wide? You could fetch twice as many pixels during a read, but you have to read the palette entries anyway, making the advantage moot, also you are accessing non sequential parts of ram, anothing inefficiency. The benefit would be on the side of changing large sections of the display using one write. Overall though, you can see the reason why such a mode isn't on the roster, it is just as much work and you have more control over individual pixels. Also, there is 16 bit mode, which many consider pretty good, but I find really has limited colour values which would be neatly solved if each pixel were an index into real colours.
Ok, the thought I had came to me when considering larger colour palettes of 64 bits+, wouldn't the savings and features balance shift once again to palettes? From what I understand textures are rarely larger than 256x256 in use in today's games, and future games are using finer details, if you wanted textures with greatter than 32 bit precision, or one with a large alpha channel seems to me a palette would be handy, for 256x256 you'd have a palette entry per pixel. There is probably something like that already in existance, but I wouldn't know. The problem has become one of filling larger and larger areas of the display, between higher desktop resolutions and multiple monitors, and Windows headed towards more and more eye candy, seems to me a reconsideration of palettes would solve some problems.
Of course, it would probably never be an option, any new idea has to be able to fit into the current legacy of the PC, but this seems to be a forum for discussing random ideas, so I thought I'd ramble on.