Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Estou corrigido. O desempenho do bitmap é inferior aos tags em 16%-25%(dependendo do número de elementos), mas não por uma ordem de grandeza, como escrevi anteriormente.
Houve provavelmente erros/ineficiências no código aquando da primeira aprendizagem da ferramenta.
O código está anexado.
portagem64
Acreditem,não tenho um único motivopara vos enganar = a mim mesmo. Na minha primeira experiência, observei um mapa amargo no testador. Infelizmente, não o consigo reproduzir. :(
...
portagem64
Acreditem,não tenho um único motivopara vos enganar = a mim mesmo. Na minha primeira experiência, observei o mapa amargo no testador. Infelizmente, não o consigo reproduzir. :(
Gostaria também de chamar a atenção dos criadores para as diferenças na exibição das fontes:
À esquerda está o bitmap e à direita os rótulos.O bitmap tem uma interpretação ligeiramente mais ousada da fonte, embora todas as definições sejam as mesmas.
A questão não é crítica. Mas para a ordem preste atenção. :)
Gostaria também de chamar a atenção dos criadores para as diferenças na exibição das fontes
À esquerda está o bitmap, à direita os rótulos.O bitmap tem uma reprodução ligeiramente mais ousada da fonte, embora todas as definições sejam as mesmas.
A questão não é crítica. Mas para a ordem é necessário prestar atenção. :)
Estou corrigido. O desempenho do bitmap é inferior aos tags em 16%-25%(dependendo do número de elementos), mas não por uma ordem de grandeza, como escrevi anteriormente.
não. No entanto, o seu teste está incorrecto.
Utiliza-se ChartRedraw após cada mudança. Assim, de facto, está a testar 10000 vezes o ChartRedraw. Isto não é correcto.
A tarefa é descobrir o que muda mais rapidamente - rótulos ou bitmaps. E não a sua produção subsequente na tabela.
Aqui estão os resultados dos testes se deixar ChartRedraw dentro de um laço.
Tempo de actualização do bitmap = 40980.
Tempo para actualizar as etiquetas = 41777.
(ou seja, o bitmap é até ligeiramente mais rápido do que os rótulos).
E quero que note que o número de etiquetas e a largura do bitmap na presença de ChartRedraw dentro do laço - não afecta nada. Portanto, a função ChartRedraw é a mais lenta nesta situação.
---
Se remover o ChartRedraw do laço, obterá números completamente diferentes
Tempo de actualização do bitmap = 5788.
Hora de actualização das etiquetas = 234.
por isso o terminal com as etiquetas é 20 vezes mais rápido do que o bitmap
e aqui, é claro, já podemos ver a dependência da altura do bitmap. para 100 marcos:
Tempo de actualização do bitmap = 51355.
Tempo de actualização dos rótulos = 1108.
50 vezes a diferença
e aqui está um bitmap com o tamanho 250*20. ou seja, não alterar as coordenadas das marcas.
obtemos
Tempo de actualização do bitmap = 25054.
A diferença com cem marcos é de 25 vezes.
Assim, como se pode ver, o bitmap é realmente lento no que diz respeito a trabalhar com ele.
sem ambiguidade, esse trabalho cíclico constante com arrays + WinGdi TextOut + criação de ResourceCreate = inferior aos objectos MT nativos por pelo menos uma ordem, ou mesmo 50 vezes.
É por isso que não se deve recusar a objectos MT. Como provavelmente será muito conveniente para desenhar gráficos e histogramas.
E que bandeira para definir a espessura da fonte utilizou para o bitmap ?
O valor por defeito é 0, não o defino explicitamente. Pode vê-lo no código fonte em anexo.
O "jogo" adicional com bandeiras diferentes também não levou à uniformidade.
...
O objectivo é descobrir se os rótulos ou bitmaps se modificam mais rapidamente. Não a sua produção subsequente ao gráfico.
...
A remoção da função ChartRedraw() do laço está incorrecta, porque a "operação atómica" da modificação das propriedades do rótulo de texto não é de modo algum manipulada pelo vídeo-motor do terminal.
Apenas quando se chama ChartRedraw() a janela inteira é desenhada, incluindo sobreposição mútua de imagens de canais alfa de diferentes objectos.
Esta hipótese é estritamente confirmada pelo profiler de código no guião com etiquetas de texto.
Quanto ao bitmap, o estrangulamento é a função TextOut().
...
Quanto ao bitmap, o estrangulamento é a função TextOut().
Isso é mais claro: ))
Esta é a forma de o tornar mais claro: ))
Concordo. :)
...
aqui estão os resultados dos testes se deixar ChartRedraw dentro do laço.
Tempo de actualização do bitmap = 40980.
Tempo para actualizar as etiquetas = 41777.
(ou seja, o bitmap é mesmo ligeiramente mais rápido do que as etiquetas)
Estranho, eu tenho a imagem oposta:
Argb_normalize é melhor não ser utilizado, uma vez que dá um custo extra para a normalização da cor. É melhor pintar coisas simples em cores puras.
Também a velocidade é directa e fortemente influenciada pela placa de vídeo, uma vez que estamos a fazer pleno uso das suas características 2D. Por exemplo, em computadores portáteis fracos com placas gráficas rudimentares , a renderização é lenta e a diferença nos métodos de saída é grande.