• DarthYoshiBoy@kbin.social
      link
      fedilink
      arrow-up
      1
      ·
      4 months ago

      The original Game Boy Color has a screen that is only 160 pixels x 144 pixels at a 6bit color depth. That color depth means it can keep track of 6bits of color information for each pixel (technically the GBC screen CAN display 15bits of color information, but it’s limited in software to 6bits absent certain tradeoffs.)

      This isn’t exactly how it all works, but I’m going to just do some quick and dirty math really quickly that sorta simply illustrates how this works. To adequately display a 60fps image on the GBC display at the 6bit color depth of the screen, we’d need to be able to process 23,040 pixels (each with 6 bits of color data) every 60th of a second. To simplify further, there’s 138,240 bits of data to process every 16.6ms just to “drive” the display, or put another way 138,240 bits of data to process to ensure that the display gets all the information it needs to build a complete picture every 60th of a second.

      So for a 1600x1440 display, you’re looking at 2,304,000 pixels, and the Analogue Pocket has a 16bit color depth, so you’re going to need to be able to process 36,864,000 bits of data every 16.6ms to “drive” that display.

      Getting a GPU/CPU/FPGA that can handle 138,240 bits of data every 16.6ms is a fairly easy task these days. Getting a GPU/CPU/FPGA that can handle 36,864,000 bits of data every 16.6ms is also a pretty easy undertaking these days, but it’s much more power intensive and it’s going to cost a bunch more. All of which is beside the shader calculations the Pocket adds in to do things like emulating the pixel fade of old LCDs or other effects that further emulate the properties of the original displays which requires further processing.

      The tradeoff is that you can build a more detailed image with all those extra pixels, but you’re going to pay for it both in electrical power spent, heat generated, and costs sunk.