Apresentação de slides de imagem on -line usando PHP, GD, XML e JavaScript
-
26-09-2019 - |
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.
Solução
Vou jogar fora algumas idéias do tipo de brainstorming:
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.
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.
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.
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.