Почему я получаю предупреждение "Out of Windows Resources", когда открываю множество окон рисунков в MATLAB [7.0 (R14) и более поздних версиях] на ПК с Microsoft Windows? - PullRequest
14 голосов
/ 03 июня 2009

У меня установлено разрешение экрана 1600х1200. В MATLAB я установил свое свойство DefaultFigurePosition с помощью следующей команды:

set(0,'DefaultFigurePosition', [400 100 1050 1000])

Затем я открываю многофигурные окна, используя следующий цикл:

for i = 1:46
    figure
end

На последнем рисунке я получаю следующее сообщение в командном окне:

    Out of Windows Resources: Allocation of bitmap failed.  
Disabling backingstore for current figure.

Ответы [ 3 ]

9 голосов
/ 03 июня 2009

Одним из способов избежать этого сообщения является уменьшение размера фигуры по умолчанию, указанного третьим и четвертым элементами «DefaultFigurePosition».

Кроме того, вы можете попробовать увеличить пространство кучи Java VM, как описано в следующем техническом решении «Как увеличить пространство кучи для Java VM в MATLAB 6.0 (R12) и более поздних версиях?» на:

http://www.mathworks.com/support/solutions/en/data/1-18I2C/

Кроме того, иногда изменение рендера на opengl может работать. Это можно сделать следующим образом:

set(h,'Renderer','opengl');
2 голосов
/ 03 июня 2009

К сожалению, Windows имеет ограниченное количество графических ресурсов.

Вы можете проверить количество ресурсов с помощью диспетчера задач, на вкладке «Процессы», нажав меню «Просмотр / Выбор столбцов» и отметив опцию «Объекты GDI».

Затем вы можете увидеть количество графических объектов (GDI), используемых каждым процессом.

Максимальное количество объектов GDI на процесс составляет примерно 9900 объектов. Более того, процесс не сможет правильно их нарисовать.

0 голосов
/ 19 декабря 2013

Согласно этой теме , это может быть переключатель /3GB, который может быть установлен в 32-разрядных версиях Windows. У меня есть мой набор, и я получаю ошибку резервного хранилища, когда Диспетчер задач показывает только 206 объектов GDI против Matlab.

Или это может быть связано с разными причинами в разных сценариях. Есть много способов исчерпать ресурсы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...