Repository navigation
fix: reduce stuttering during chunk streaming - #52
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📌 Descrição das Alterações
Corrige os principais stutters observados durante movimentação e streaming de chunks, identificados na Issue #51.
A investigação por profiling encontrou duas causas principais:
A correção foi realizada em duas etapas:
O grid agora também aguarda a conclusão da sequência de streaming antes de sincronizar a geometria final, evitando rebuilds intermediários desnecessários.
📊 Resultados
No percurso determinístico com Grid ON:
No teste de estresse de streaming:
O custo isolado de geração da geometria do grid caiu de aproximadamente 27,61 ms para 2,27 ms, e os rebuilds passaram a ocorrer apenas após a estabilização da sequência de streaming.
A validação manual em WSLg confirmou movimentação pelo mapa sem stutterings aparentes durante as transições de chunks.
A geração procedural, seeds, geometria das cavernas, streaming, raycasting, câmera, personagem e comportamento visual do grid foram preservados.
🔗 Issue Vinculada
Closes #51
🛠️ Tipo de Alteração
✅ Checklist de Qualidade e Validação
python src/main.pypytest)Testes
git diff --check: OKOs três testes ignorados dependem de contexto OpenGL/display indisponível dentro do processo do pytest. A aplicação OpenGL foi executada e validada separadamente via WSLg.
Limitações restantes