Pô, eu pensei exatamente isso! Mas me pareceu um pouco selvagem. xD
Vou dar uma olhada nesse aí. o/
E por curiosidade: Se eu der um shuffle na array sempre antes do sort, a performance melhora consideravelmente. uahsuhaea'
Como estou usando o algoritmo de sort pra determinar a ordem de renderização das imagens, dando prioridade aquelas que tem maior posição Y, considerando que elas quase sempre estão em posições iguais, a array é ordenada uma vez e em seguida fica sofrendo pra ordenar de novo o que já está...
Sim, a minha surpresa era que eu estava usando arrays grandes (de tamanho +100) e mesmo o insertion tinha performance melhor. Lendo um pouco, soube que o quick performa mal em arrays já ordenadas, então o problema parece até meio obvio agora. uhausaaea'
Sobre o que estávamos falando antes, por curiosidade, no 2K3 do Maniacs é possível acessar uma array fora dos limites diretamente.
E pô, valeu pelo toque, isso vai me salvar. uhaushae'
Insertion Sort tem uma complexidade média de O(n²), enquanto que o Quick de O(n log(n)). Na teoria deveria ser mais rápido, mas na prática não foi bem assim. haha'
E quanto ao Quicksort, não vale a pena. A performance do fucking Insertion Sort (e até o Bubble!) foi melhor do que a dele nos meus testes. uhasuhae' (Na verdade meu corações ficou um pouco dilacerado com isso :c)
Pera, realmente da pra usar além da variável 9999 utilizando ponteiros. Mdsss, eu sempre achei que internamente as variáveis eram uma array estática e se eu tentasse usar além daria erro. uahsuhasuhae'
Só é um saco não poder ver no editor, mas já é algo. xD
Por exemplo, eu acabei de fazer uma implementação de QuickSort aqui, no RM2003. Como é um algorítimo que depende de recursão, há um ponteiro que indica a "profundidade" da thread, sendo que cada thread precisa de 3 variáveis reservadas. Nos meus testes, em uma array de tamanho 100, o máximo de...
Sim! Também uso ponteiros em todo lugar. Deus me livre de alocar cada endereço manualmente. xD
Mas por incrível que pareça, as vezes penso que vou precisar de mais do que 9999 variáveis, e isso ponteiro não resolve. haha'
Ah sim! Na verdade, o uso do Mouse nessa gif é apenas pra deixar evidente a movimentação sub-pixel e as tantas direções de movimento que o sistema permite, já que apenas com o teclado, usando as teclas direcionais, o máximo de direções possíveis é 8.
Pô, se tu conseguiu usar em um mapa com área de 10_000 tiles, ou o tu tá fazendo alguma bruxaria pra usar mais que 9_999 variáveis ou tá fazendo de uma forma bem melhor do que eu imaginei. xD
Na prática, tu tá reservando quantas variáveis no pior caso?
O Cherry de vez em quando aparece lá na RPGMaker.net. (e o site cherry tree ainda tá no ar também :pensando:)
E porra, que daora! xD
Vou supor que você tá reservando uma variável pra cada coordenada do mapa armazenando seus pesos, né? O que daria umas 300 variáveis no menor mapa. Infelizmente a...
Que daora! Eu não sei se tu conhece, mas fizeram um patch absurdo para o 2K3 que deixa ele com bastante força pra fazer umas maldades. Ou seja, atualmente é bem mais fácil fazer esse tipo de coisa na engine, mas me surpreende que tenham feito no passado. haha'
Este site usa cookies para ajudar a personalizar seu conteúdo e deixar você logado caso se registre.
Ao continuar usando o site, você concorda com o uso de cookies.