Приложение выдает OutOfMemoryExceptions на планшетном компьютере, но остается достаточно памяти

Я написал приложение WPF. Он хорошо работает на любом ПК, в том числе и на моем тестовом планшете.

Только на одном планшете от заказчика выбрасывает OutOfMemoryExeptions после загрузки основной формы. Некоторые значки видны в моей форме, некоторые, которые загружаются позже в процедуре запуска, не видны. Эти изображения не большие или что-то в этом роде (всего 200 КБ каждое). Диспетчер задач говорит, что занято всего 800 Мб (памяти у него 2 Гб). Так что памяти хватает...

Интересно, что приложение запускается, если мой клиент удаляет графический драйвер Intel, но это не очень хорошее решение.

Характеристики планшета: это Kupa X11 с 2 ГБ памяти, графическим процессором Intel GMA 600 и Windows 7 Professional.

Кто-нибудь знает, что это может быть?

Спасибо, Даниэль


person Daniel    schedule 07.03.2012    source источник


Ответы (2)


Приложения .NET ограничены объемом памяти, который они могут использовать.

среда выполнения .NET позволит вашему приложению использовать примерно до 3 ГБ адресного пространства. Однако, в зависимости от того, как вы выделяете, может не быть непрерывного блока памяти, достаточно большого, чтобы удовлетворить ваше выделение. Кроме того, .NET накладывает ограничение на размер объекта в 2 ГБ, поэтому попытка выделить массив размером более 2 ГБ не удастся — вопрос msdn

person harryovers    schedule 07.03.2012

Мне кажется, что если приложение запускается после удаления текущего графического драйвера, то это проблема с драйвером, и OutOfMemoryException может быть видеопамятью.

Обратитесь в Intel за обновленным драйвером или используйте видео по умолчанию для Windows 7 (если это возможно).

Еще одна вещь, которую вы можете попробовать, это обновить DirectX на машине.

person Bahri Gungor    schedule 07.03.2012