tmpfs desempenho

2

Eu uso o avconv para fazer gravações em tela de jogabilidade no linux (sim, me desculpe, eu sou um deles, mas fico mais empolgado com os scripts do que jogando), mas recentemente meu disco rígido passou e aguardando a garantia Estou usando um de um notebook antigo.

O problema é que eu já sabia que não posso gravar usando este HD porque é muito mais lento do que o meu antigo, como se mostra verdade, desisti de tentar gravar e comecei a procurar outras opções. / p>

Foi quando me lembrei de tmpfs / ramfs, e é assim que estou tentando resolver as coisas:

1) Eu montei o tmpfs:

$ sudo mount -t tmpfs -o size=2048M captura ~/Videos/capture/memoria/
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       286G   63G  209G  24% /
...
captura         2.0G   62M  2.0G   3% /home/rarlei/Videos/capture/memoria

2) Comece a jogar (Minecraft, uso pesado de memória?)

3) Inicie a gravação: avconv $thousands_of_parameters -v:c libx264 -preset fast memoria/video.mp4 (somente vídeo)

Depois de algumas apresentações, paro de gravar para ver o que tenho, mas o que vejo não é diferente do que vejo gravando no disco rígido.

Eu tenho 8GB de memória boa (1.2ghz ou algo assim, eu não sei como eu posso ver do linux)

Eu não estou usando nenhuma placa de vídeo específica, é apenas uma Intel comum, mas isso nunca afetou a gravação com meu disco rígido anterior.

Os tmpfs não deveriam ser muito mais rápidos? Minecraft afeta isso? A codificação afeta isso? Alguma idéia?

UPDATE

Eu acho que não estou sendo claro, o que estou fazendo é comparar dois vídeos, um escrito na partição harddisk, e outros escritos em tmpfs (memória?), ambos com os mesmos codecs, ambos do display X11, meu resultado esperado foi que o vídeo tmpfs teve muito menos atrasos do que o disco rígido (atrasos que não aparecem durante o jogo), mas o resultado é que ambos os shows de vídeo estão atrasados, em quase a mesma quantidade.

Vale dizer que esses atrasos não ocorreram com meu disco rígido anterior, então sei que é relacionado ao armazenamento e não ao processador / codec.

UPDATE - Resolvido (?)

Acontece que algo parece acontecer no processo de codificação que consome muito mais memória (o que é óbvio agora, já que ele precisa carregar cada quadro na memória e processar lá, e então escrever de volta em outra seção do mesmo memória) do que eu previa, então, fazer tudo na memória realmente causou esses atrasos / framedrops durante a codificação.

Eu tentei gravar usando rawvideo e, depois de recodificar de volta para o mp4, não houve atraso no vídeo. Pena que são necessários 1 GB para cada 10 segundos e não tenho muita memória.

Não havia como gravar o direito rawvideo no disco rígido, o que atrasava o jogo ao ponto de pará-lo até que eu parasse de gravar. : (

Obrigado a vocês de qualquer maneira:)

    
por Rarlei 19.01.2013 / 16:29

1 resposta

1

Você pode tentar executar o avconv com uma prioridade mais alta; isso pode causar lentidão no jogo, mas:

nice n=-10 aconv ...

Isso pressupõe que o problema é porque um contrato não está recebendo tempo suficiente do processador para fazer o que ele precisa fazer. Seja o que for, de acordo com meus comentários, não é porque não é possível gravar em disco rápido o suficiente.

Veja man nice se você nunca ouviu falar antes.

    
por 19.01.2013 / 17:37