История изменений
Исправление EXL, (текущая версия) :
Когда я создаю и рисую QLabel, выделяется сколько-то видеопамяти.
Qt-приложение, по умолчанию работающее через иксы, не использует GPU (аппаратно-ускоренную отрисовку) и вот этот твой QLabel не является привычной текстурой, которая хранится в видеопамяти. Наверное корнями QLabel, как и любой другой Qt-виджет, уходит внутрь xcb/xlib/иксов, где и будет являтся каким-то там отрендеренным битмапом. Что-то я сильно сомневаюсь, что этот битмап хранится в VRAM, а не тупо в RAM. Но я могу ошибаться, тут люди знающие архитектуру иксов нужны.
P.S. Qt по hide()
не удаляет виджет, а лишь скрывает его с формы, все данные и отрендеренный битмап где-то там должны сохраняться. Даже если бы Qt использовал аппаратное ускорение и QLabel был текстурой, то сам понимаешь, что удалять/создавать каждый раз текстуру по вызову show()/hide()
– довольно накладно. Так что ничего там удаляться не должно.
Исправление EXL, :
Когда я создаю и рисую QLabel, выделяется сколько-то видеопамяти.
Qt-приложение, по умолчанию работающее через иксы, не использует GPU (аппаратно-ускоренную отрисовку) и вот этот твой QLabel не является привычной текстурой, которая хранится в видеопамяти. Наверное корнями QLabel, как и любой другой Qt-виджет, уходит внутрь xcb/xlib/иксов, где и будет являтся каким-то там отрендеренным битмапом. Что-то я сильно сомневаюсь, что этот битмап хранится в VRAM, а не тупо в RAM. Но я могу ошибаться, тут люди знающие архитектуру иксов нужны.
P.S. Qt по hide()
не удаляет виджет, а лишь скрывает его с формы, все данные и отрендеренный битмап где-то там должны сохранятся. Даже если бы Qt использовал аппаратное ускорение и QLabel был текстурой, то сам понимаешь, что удалять/создавать каждый раз текстуру по вызову show()/hide()
– это очень накладно. Так что ничего там удаляться не должно.
Исходная версия EXL, :
Когда я создаю и рисую QLabel, выделяется сколько-то видеопамяти.
Qt-приложение, по умолчанию работающее через иксы, не использует GPU (аппаратную отрисовку) и вот этот твой QLabel не является привычной текстурой, которая хранится в видеопамяти. Наверное корнями QLabel, как и любой другой Qt-виджет, уходит внутрь xcb/xlib/иксов, где и будет являтся каким-то там отрендеренным битмапом. Что-то я сильно сомневаюсь, что этот битмап хранится в VRAM, а не тупо в RAM. Но я могу ошибаться, тут люди знающие архитектуру иксов нужны.
P.S. Qt по hide()
не удаляет виджет, а лишь скрывает его с формы, все данные и отрендеренный битмап где-то там должны сохранятся. Даже если бы Qt использовал аппаратное ускорение и QLabel был текстурой, то сам понимаешь, что удалять/создавать каждый раз текстуру по вызову show()/hide()
– это очень накладно. Так что ничего там удаляться не должно.