Я не эксперт по внутренним материалам Matplotlib, но я думаю, что это невозможно сделать таким образом.Matplotlib не был предназначен для отображения больших изменяющихся текстур с высокой частотой кадров, он предназначен для обеспечения высокого уровня и очень простого в использовании API для отображения интерактивных графиков.Внутренне он реализован на python и c ++ (для низкоуровневых и высокопроизводительных операций) и использует Tcl / Tk в качестве графического интерфейса пользователя и инструментария виджетов (что обеспечивает большую кроссплатформенную переносимость между операционными системами).Таким образом, ваша матрица 1024x2048 должна быть преобразована несколько раз, прежде чем она отобразится.
Если вам не нужны дополнительные функции, которые предоставляет matplotlib (например, автоматическое масштабирование, оси, интерактивное масштабирование ...), и ваша главная цель - скорость, Я рекомендую вам использовать более ориентированный на производительность Python библиотека / модуль для отображения.Есть много вариантов: pyopencv, pySDL2 ...