macvim-dev / macvim-dev/macvim

Implement Metal renderer for MacVim

Abierto
#1,262 0 comentarios 6 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Investigation Renderer
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

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.