Pergunta

Eu escrevi algum código para rastrear automaticamente muitos objetos através de uma sequência de imagens de mais de 1000 quadros. Os limites e centros do objeto são emitidos em XML pelo meu algoritmo. Estou fazendo um site para mostrar meus resultados e gostaria de ter uma apresentação de slides navegável com os recursos normais de jogo, pausa, avançar e retroceder. Atualmente, tenho uma fila de estrutura circular PHP-Javascript configurada. Ele funciona com 10 quadros contêm imagens 1-10 e, quando o usuário deseja ver as imagens 2, altere a visualização e carregue a imagem 11 no quadro 1 e assim por diante. Esse estilo circular da fila funciona bem para a rolagem normal, mas eu gostaria de alterar a imagem a cada 100 ms e atingir. Existe uma maneira melhor de fazer isso deste lado?

Minha principal fonte de desaceleração é que minhas imagens são plotadas dinamicamente em GD a partir de um arquivo XML contendo um grande número de pontos de dados. Estou usando o FILE_GET_CONTENTS e as funções simpxmlelement para colocar os dados em matrizes e, em seguida, plotá -los em uma imagem usando o ImagePolygon. Existe um jeito melhor de fazer isso?

Cada imagem é de cerca de 1400 por 900 e possui de 30 a 500 objetos, dependendo de quão longe está na sequência. Tentei armazenar imagens plotadas fisicamente, mas como os usuários precisam isolar os objetos 1-10 ou 3,7,8-11, isso não é possível devido ao número de permutações.

Foi útil?

Solução

Vou jogar fora algumas idéias do tipo de brainstorming:

  1. Desenhe os limites do objeto como divs relativamente posicionados com o conjunto de altura e largura. Dessa forma, você não precisa gerar imagens para cada combinação possível. O rastreamento de objetos pode ser ativado para qualquer objeto em tempo real na página. O lado negativo é que clientes mais lentos podem renderizar 500 divs lentamente.

  2. Outra maneira de reduzir a necessidade de renderizar em tempo real - renderizar (uma vez) todos os quadros de rastreamento para cada objeto como o polígono em um fundo transparente (PNG ou GIF). Quando o quadro for visualizado, camada todos os quadros de rastreamento de objetos apropriados sobre a camada de segundo plano. Sem problema de renderização, apenas um atraso de carga enquanto o cliente carrega 500 imagens.

  3. Em vez de analisar o arquivo XML a cada vez, crie uma matriz PHP com todos os pontos de dados em um arquivo incluído.

  4. Obtenha um processador mais rápido e muita RAM para o seu servidor.

Como eu disse - idéias aleatórias. Talvez eles tenham você pensando, talvez fossem divertidos para eu pensar. Boa sorte.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top