1

Я создал приложение (OpenGL/SDL), которое использует очень разные объемы памяти в разных системах:

LGA2011/HD6950/16GbRam/W8PRO - 185 МБ

LGA1155/HD7850/16GbRam/W7PRO - 180 Мб

LGA1333/Quadro2000/W7PRO - 110 Мб <-------------- Что с этим?

2011MBA - 300 Мб (думаю, это связано с совместным использованием памяти игу)

Как я могу определить причину этого?

1 ответ1

1

Что касается вашего вопроса, вот что я знаю. Когда вы смотрите на используемую память, она может показывать разные виды. Некоторые компьютеры забирают часть памяти и перемещают ее в SWAP вместо использования вашей оперативной памяти. Это также может быть использование виртуальной памяти, которая занимает меньше места, в результате чего ваше приложение выглядит так, как будто оно использует меньше.

Если они работают на разных ОС или версиях, это может помочь. Например, Windows XP может не обрабатывать память так же, как 7, что может немного изменить объем фактической памяти, используемой вашим приложением.

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

Что касается Mac, вы правы. OS X хранит память совсем по-другому, и будет использовать как можно больше всей оперативной памяти, при уменьшении объема памяти она начнет уменьшаться. Но GPU, совместно использующий RAM, заставляет его казаться таким высоким.

Я не самый осведомленный в этой области, так как я также инженер-программист, возможно, инженер-электрик (или кто-то с подобными знаниями) мог бы углубиться в детали.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .