I connected SDRAM and using a buff
#define SDRAM_BANK_ADDR ((uint32_t)0xC0000000)
lv_disp_buf_init(&disp_buf, (uint16_t*)SDRAM_BANK_ADDR, NULL, LV_HOR_RES_MAX * LV_VER_RES_MAX); - There is artifact. Half of screen not rendered!
I see half of the screen updated. But if I reduce the buffer to half all again working perfectly. What it can be?
lv_disp_buf_init(&disp_buf, (uint16_t*)SDRAM_BANK_ADDR, NULL, LV_HOR_RES_MAX * LV_VER_RES_MAX/2); - No artifact!
Black label with test info rendered good despite its position in the bottom right corner
I tried to make an offset SDRAM_BANK_ADDR + NNN to be sure memory is not affected. The same result
With the full-frame buffer, performance jump to 40 FPS+ but the artifact comes
Also, keys optimization of compilation somehow affected on rendering
I hope I did all right
/Initialize the display/
lv_disp_drv_t disp_drv;
lv_disp_drv_init(&disp_drv);
disp_drv.hor_res = LV_HOR_RES_MAX;
disp_drv.ver_res = LV_VER_RES_MAX;
disp_drv.flush_cb = my_disp_flush;
disp_drv.buffer = &disp_buf;
lv_disp_drv_register(&disp_drv);
I change frequency of SPI, system bus and MCU. Play with lvgl config. All the same