macvim-dev / macvim-dev/macvim
Implement Metal renderer for MacVim
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Vim Script
- Estrellas
- 7.9k
- Forks
- 691
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
We should implement a Metal-based text renderer for MacVim. #858 fixed a lot of the issues with the previous way MacVim rendered text and laid the grounds work by storing the buffer of the text so it could be redrawn. However, it is not as fast as it could be because it relies on software rendering and on scrolling (or other events) it needs to redraw quite a fair amount of texts, leading to scrolling not being as smooth as it could be.
Implementing a proper Metal renderer would allow us to get the native scrolling performance back as it's trivial to submit redraws.
There are also other downstream features (some in experimentation) that would need the Metal renderer to work properly. For example, if we want per-pixel scrolling (#273), we need a high-enough frame rate to be able to generate a smooth animation. Other special animation effects such as locating cursors, or cursor animations would all benefit from a Metal renderer.
Also see #1259 for performance issue with it.
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza revisando el trabajo de renderizado descrito en el issue #858 y el problema de rendimiento señalado en #1259; después, inspecciona la ruta actual de renderizado por software de MacVim. El issue estará terminado cuando un renderizador basado en Metal admita un desplazamiento nativo fluido y proporcione la base de renderizado necesaria para las funciones de animación posteriores mencionadas aquí.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- macos, vim
- Área
- computer-graphics, desktop, performance
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 22/100