fceux icon indicating copy to clipboard operation
fceux copied to clipboard

Lua palette quantization

Open warmCabin opened this issue 4 months ago • 1 comments

Don't mind me, just using your appveyor to avoid setting up Visual Studio on my new PC :)

warmCabin avatar Aug 10 '25 05:08 warmCabin

Definitely seeing some improvements by switching away from the green channel rods n' cones biasing thing. When I completely turn off the color caching and run this test script, there is a noticeable performance hit when turboing. I'd say it goes from 25x to 10x speed. As such, I changed the color cache to 5 bits per channel and it seems fine... But I'm still a bit leery, so I might make a Lua API that can turn this on and off just in case 5 bits still makes things weird.

Here are some comparison results. Hopefully it's not too hard to see. With the green bias, the ghosts get kind of yellowy when they stack up.

3-bit green bias (the ways things are in master)

https://github.com/user-attachments/assets/fbadaf82-1f5d-4d49-805f-38c1068e0a20

no cache euclid (best results, noticeable performance dip when turboing)

https://github.com/user-attachments/assets/032e290b-a56f-47cb-a47e-e01faddab17f

5-bit Euclid

https://github.com/user-attachments/assets/c663ac4e-d77f-41ca-9384-b9117248b21e

3 bit euclid

https://github.com/user-attachments/assets/f0ecbe5a-f59e-494c-8cfa-c72153c525e3

no cache green bias

https://github.com/user-attachments/assets/e393f662-fd5a-40b5-9f5a-3525097ff347

warmCabin avatar Aug 13 '25 03:08 warmCabin