Arduino nano every isn't faster than Arduino Nano

Hellow for my progect I was using Arduino Nano but i needed other RAM so I bought Arduino Nano Every but when I try it I discovered that she is a lo of slower than nano.
Here there is a video for see speed difference
https://www.mediafire.com/file/2g6eewpmffy2wq9/Arduino_speed_difference.mp4/file
Soory for my english; I'm italian

It'll depend on exactly what you're doing, but yeah - same clock rate, somewhat more complex peripherals - slower.

It "looks" like a ST7735 160x128 display.
You do not say what screen, libraries or sketch you are using.

The EVERY has a better SPI peripheral.
Since we don't know your software, we don't know if the "better" options are being enabled.

David.

Link Display: https://www.amazon.it/dp/B07N6FQ5XW?ref=ppx_pop_mob_ap_share

I use the standard Arduino TFT.h library. I sue only a function of it (that i made)

void Adafruit_ST7735::fillPixelsScreen(int16_t x, int16_t y, int16_t w, int16_t h,
unsigned char* c,uint16_t Color1, uint16_t Color2) {

if ((x >= _width) || (y >= _height)) return;
if ((x + w - 1) >= _width)  w = _width - x;
if ((y + h - 1) >= _height) h = _height - y;
if (tabcolor == INITR_BLACKTAB) {
Color1 = swapcolor(Color1);
Color2 = swapcolor(Color2);
}
w /= 2;
h /= 2;
for (y = 0; y < h; ++y) {
unsigned int index = y * w;
setAddrWindow(0, y*2, 160 - 1, y);
SPI.beginTransaction(spisettings);
* rsport |= rspinmask;
*csport &= ~cspinmask;
//for(byte Rsx = 0; Rsx < 2;++Rsx)
for (x = 0; x < w; ++x) {
if (bitRead(c[index / 8], index % 8)) {
SPI.transfer16(Color1);
SPI.transfer16(Color2);
} else {
SPI.transfer16(Color2);
SPI.transfer16(Color2);
}
++index;
}
for (byte i = 0; i < 0; ++i) {
SPI.transfer16(0);
SPI.transfer16(0);
}
*csport |= cspinmask;
#ifdef SPI_HAS_TRANSACTION
if (hwSPI) SPI.endTransaction();
#endif
}
}

In my Progect there is a lot malloc and free
I use float vars
I use a joistic
I use a frame Buffer large 640 byte (Green and Black) a quarter of screen resolution
I use a lot of PROGMEM
I use HardwareSPI for the TFT
And I use bool b : 1 for optimize the RAM

For create the image (frame buffer) arduino Every work for 10 milliseconds and for transfer it to the display 150 milliseconds

I have turn the every to 20Mz and the situation is better now. How can I optimize the SPI. Can I turn it to 8Mz ?

How do you currently initialize SPI, or is that buried inside the display code? It looks like 8MHz (or even 10MHz) should be possible...

spisettings = SPISettings(16000000L, MSBFIRST, SPI_MODE0);
SPI.setClockDivider(SPI_CLOCK_DIV2);
SPI.setBitOrder(MSBFIRST);
SPI.setDataMode(SPI_MODE0);