Por que um aplicativo usaria diferentes quantidades de memória em computadores diferentes?

1

Eu construí um aplicativo (OpenGL / SDL) que usa quantidades muito diferentes de memória em sistemas diferentes:

LGA2011 / HD6950 / 16GbRam / W8PRO - 185Mb

LGA1155 / HD7850 / 16GbRam / W7PRO - 180Mb

LGA1333 / Quadro2000 / W7PRO - 110Mb < --------------- Qual é o problema?

2011MBA - 300 + Mb (acho que isso se deve ao compartilhamento de igpu RAM)

Como posso determinar o motivo disso?

    
por aCuria 12.11.2012 / 17:07

1 resposta

1

Quanto à sua pergunta, aqui está o que eu sei. Quando você está olhando para a memória que está sendo usada, ela pode estar mostrando diferentes tipos. Alguns computadores pegam parte da memória e movem-na para SWAP em vez de usar sua RAM. Ele também pode estar usando a memória virtual, que ocupa menos espaço, fazendo com que seu aplicativo pareça estar usando menos.

Se eles estiverem sendo executados em sistemas operacionais ou versões diferentes, isso pode contribuir. Por exemplo, o Windows XP pode não manipular a memória da mesma forma que o 7, o que poderia alterar um pouco a quantidade de memória real usada pelo seu aplicativo.

Pequenas mudanças em placas gráficas ou outras peças de hardware também podem contribuir, exigindo memória de outro aplicativo, mas isso geralmente não acontece no Windows, mais ainda em sistemas baseados em Unix.

Quanto ao Mac, você está correto. O OS X armazena a memória de forma bastante diferente, e usará toda a memória RAM se puder, começará a diminuir a quantidade quando a memória ficar baixa. Mas a GPU compartilhando RAM é o que está fazendo com que pareça tão alto.

Eu não sou o mais bem informado sobre este assunto, como também sou um engenheiro de software, talvez um engenheiro elétrico (ou alguém com conhecimento semelhante) poderia entrar em maiores detalhes.

    
por 12.11.2012 / 17:50

Tags