none
Operações entre Threads gerando delay... RRS feed

  • Pergunta

  • Bom dia a todos.

    Tenho um programa que fica atualizando um chart a cada tick. Na verdade é uma conexão DDE que a cada novo valor do servidor, o chart é atualizado. O problema é que essa conexão ocorre numa thread diferente, necessário para não ficar travando o programa.

    O problema é que para atualizar o chart, ele precisa fazer um delagate por causa das threads diferentes e isso vem gerando um delay, ele demora mais atualizando  o chart do que o número de entrada de novos valores. Ou seja, ele recebe um valor e vai atualizar o chart, ele demora um tempo para fazer isso, e dentro desse tempo, ele já recebeu outro novo valor, e isso vai travando mais e mais. Como os valores variam, pode demorar até um minuto ou milessimos de segundos de intervalo, o programa consegue ir processando ele, mas sempre travando.

    Alguém sabe como eu poderia resolver isso? Tem como colocar o chart na mesma thread em que recebo os valores? Será que esse processo de delagate gera esse delay?

    Só para constar, são na verdade 6 chart que são atualizados um apos o outro com o novo valor...

    segunda-feira, 13 de agosto de 2012 15:07

Respostas

  • Entendo pouco sobre threads, então não consegui ir muito longe. Achei que tivesse como colocar os controles na mesma thread que recebe os dados. Mas não consegui. De qualquer maneira, otimizei o código e ficou melhor. Ainda em momentos de pico, com muitos quotes sendo geradas, ele ainda gera esse delay de processamento, travanado a thread Main por alguns instantes.

    Mas por enquanto vai assim mesmo.

    sds

    • Marcado como Resposta Bisewski01 terça-feira, 14 de agosto de 2012 19:24
    terça-feira, 14 de agosto de 2012 19:24