Been running into an issue on my Ryzen 2500U laptop. The issue springs from using Invert shaders on our background paintings. The image is inverted at grayscale before saving, and we then apply the invert shader in-game in order to give it its original look with a single color on top (essentially creating a Screen instead of a Multiply).
Each background image is built up of several chunks, which are then loaded in externally (so you can bring in your own backgrounds too!). On a system with dedicated graphics this works great and the game really never drops below 60fps unless there are over 200-some active objects on screen. However, on integrated graphics, having backgrounds on slows the game down immensely. The results are the same whether using Backdrop objects or pasting into background (which I find particularly interesting, as shouldn't the Invert shader no longer be an issue if the image is pasted?). I've tried both shaders and the oldschool Ink Effect, the results are the same. The only thing I haven't tried is bringing in a single 1920x1080 image instead of smaller square chunks, but instinct says that may not help and would just fill up the VRAM.
Does anyone have any ideas? Any better, less code-y solutions to achieving a screen effect just with RGB Coefficients?