Slow operation of ST7796s SPI

If you are familiar with Adafruit_ILI9341 library for SPI displays it is only an "ST7796S equivalent". It was very simple to write. It inherits the same Adafruit base classes as all the other Adafruit TFT libraries.

So if Adafruit_ILI9341 program works at a particular speed the ST7796S version should draw the same. e.g. a 240x320 image.

Obviously a bigger screen has more pixels. So a bigger image will take longer.

Your mega328P requires level shifters. SPI is a bit crap on AVRs.
The STM32F411 has better SPI. Can run faster.

What constructor have you used ?
There will be a massive difference between Hardware SPI and bit-banging in software.

Oh, if you want to see impressive ST7796S performance on the F411 try Bodmer's TFT_eSPI library examples.

David.