Câmera Ethernet causando lixo no buffer do driver de rede / congestionamento de memória?


1

Estamos executando uma câmera de alta resolução em uma porta Ethernet de 1 Gb reservada e conectada a uma máquina Windows 10. Deixamos a câmera rodar no disparo automático e, por isso, ela captura e envia imagens o mais rápido possível - pelo menos é o que deduzo do tráfego de rede observado: assim que iniciamos a câmera, a utilização da Ethernet chega a ~ 580Mb recebido na máquina Windows.

MAS: nosso software de processamento de imagem (HALCON) não captura todos os quadros que a câmera envia. Isso não é um problema para a nossa tarefa (cena quase estática, precisamos apenas de um novo quadro quando tivermos processado o antigo após ~ 200 milissegundos), não fosse pelo fato de que a tentativa de capturar a próxima imagem resultasse em arbitrárias atrasos, com duração de ~ 100 milissegundos a 20-30 segundos. O desconfiado é que o primeiro número de tentativas ocorre sem problemas e somente depois tropeçamos com tempos de espera imprevisíveis. É possível que esses atrasos venham do aplicativo / driver de rede / sistema operacional (qual eu não conheço) percorrendo o fluxo de dados recebido e jogando fora pacotes antigos? Existe uma maneira de restringir o Windows em uma interface de rede a alguns MB de buffer de recebimento para que ele não

desde já, obrigado

PS: Desculpe pela linguagem leiga, minha formação é em engenharia embarcada.

PPS: o firewall do Windows está desativado para todas as portas


Claro, é possível que você tenha um excesso de dados inúteis reunidos em algum lugar, desperdiçando recursos. Provavelmente, é melhor esmagá-lo na fonte, em vez de tentar encontrar maneiras de eliminá-lo depois que ele for gerado. Você pode definir sua câmera para 5 quadros por segundo? Se o seu software de processamento de imagens puder lidar apenas com um quadro a cada 200ms, isso significa que você pode lidar apenas com 5 fps. Ou talvez não use o acionamento automático e, em vez disso, configure as coisas para que o seu software de processamento de imagem só faça com que a câmera capture / envie um quadro quando o software de processamento de imagem for capaz de lidar com um novo quadro.
Spiff

Talvez tente dar ao software de captura uma prioridade mais alta. Além disso, verifique e veja se você está executando na memória virtual, isso pode afetar significativamente o desempenho. Qual é a resolução das imagens por quadro em comparação com o poder de processamento da máquina? Quanta memória esse PC possui?
22418 Tim Timberland

@ Tim_Stewart a máquina é um monstro de 24 núcleos com mais RAM do que o necessário, então não, definitivamente não é a memória virtual ou uma máquina com pouca potência. Estamos encerrando os problemas do driver, pois existem condições em que a câmera fornece a taxa de quadros anunciada, mas não dentro da Halcon.
Vroomfondel

Hmm, de fato é isso que parece. Lol 24 núcleos hein? Parece ridículo. Boa sorte 🙋!
Tim_Stewart
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.