Existe uma maneira de reduzir o uso de memória flash e cpu no navegador da web?

3

Estou jogando um jogo flash baseado na web. O jogo em flash consome muita memória e uso da CPU. Mas quando eu no mínimo o navegador da web, existe alguma configuração para deixar flash continuar correndo, mas liberar alguma memória e cpu, uma vez que não precisa renderizar devido a invisível.

Se a configuração não estiver disponível em navegadores da Web, por exemplo, IE, firefox, é possível construir meu próprio aplicativo baseado em MFC que incorpora um controle IE com algumas configurações especiais?

    
por TieDad 11.09.2013 / 11:17

3 respostas

1

Bem, existe uma solução, mas você terá que usá-la por sua conta e risco:

Para reduzir a pegada de memória, você pode usar Firemin que libera memória atribuída mas não utilizada do Firefox. Isso também deve funcionar para o conteúdo em flash. É confiável e estável.

Para reduzir a carga da CPU, é necessário usar uma ferramenta que permita pausar processos como PsSuspend .

Outra forma seria executar o navegador e o aplicativo em uma máquina virtual. Então você pode fazer uma pausa e suspendê-lo, liberando toda a memória e o tempo de CPU do aplicativo flash, mas a sobrecarga total executando essa configuração será muito maior.

Você também pode usar um ambiente sem navegador que suporte flash, como o Media Player Classic. Eu joguei alguns jogos em flash com ele. Dessa forma, você economiza a sobrecarga massiva que o próprio navegador requer, mas nem todos os jogos em flash podem ser suportados ou executados sem falhas. Então, novamente, provavelmente há uma tonelada de diferentes aplicativos que não são de navegador, que devem permitir que você execute seu jogo, então essa pode ser a melhor solução de todas.

    
por 11.09.2013 / 17:28
0

Não vejo nenhuma maneira viável de reduzir um footprint de memória do aplicativo Flash em execução no momento. Mesmo se você minimizar seu navegador e o aplicativo ficar ocioso (embora eu tenha certeza de que isso não acontece), você diminuiria a carga da CPU, mas não da memória. O estado do aplicativo deve ser armazenado como está, porque senão não seria capaz de funcionar corretamente.

Certamente, alguns problemas na plataforma ou erros no aplicativo podem levar a algum vazamento de memória, ou seja, tornar-se inacessível por código, mas ainda ocupado por dados. Mas esse é um problema que precisa ser resolvido pelo garbage collector da plataforma. E fazer a coleta de lixo corretamente é uma tarefa bastante complicada.

A única maneira de fazer com que o aplicativo use menos memória é não deixá-lo usar mais dele em primeiro lugar. "Sandbox" (não sei como) o aplicativo e forçá-lo a ficar em uma determinada cota de memória - desta forma você terá certeza de que ele não usará mais memória que seja permitido.

    
por 11.09.2013 / 11:56
-1

Um dos problemas inerentes ao Flash é que nunca se destinou a ser usado como é. Cada instância de um programa Flash é tratada como se fosse o único código flash em execução, e cada script / programa em flash pode usar 10% de sua memória. Alguns sites consideram isso uma coisa boa, pois podem usá-lo para impedir que você navegue em vários sites ou tenha várias contas acessadas de uma só vez. Usando o facebook como exemplo, a página é ordenada usando script flash, o cabeçalho com os menus na parte superior é outro script, cada bloco à esquerda pode ser um script ou vários scripts sendo executados em um script separado, o mesmo vale para a direita e para cada post. Então, dependendo de como ele é analisado, cada página do facebook está sendo executada entre 4 e um número indefinido de scripts.

    
por 21.04.2015 / 07:55

Tags