Fantasy Console: Simulate low-res display with byte-array

For the case where you update the texture from the main thread please try the following
and let me know of the results.
Instead of the short SetData(T), use the full method that takes in a rectangle.
Do not pass null for the rectangle, initialize it with all the default values to do a full update.
something like tx.SetData(0, new Rectangle(0,0,tx.Width,tx.Height),data, 0, data.Length);

Another perf boost would be to cache and reuse the Color[] array instead of creating it every time inside FromBuffer.