Implement Metal renderer for MacVim
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 22/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- macos, vim
- Bereich
- computer-graphics, desktop, performance
Rechercherichtung
Beginne mit der Durchsicht der in Issue #858 beschriebenen Rendering-Arbeiten und des in #1259 angesprochenen Performance-Problems. Untersuche anschließend den aktuellen Software-Rendering-Pfad von MacVim. Das Issue ist abgeschlossen, wenn ein Metal-basierter Renderer flüssiges natives Scrollen unterstützt und die für die hier erwähnten nachgelagerten Animationsfunktionen erforderliche Rendering-Grundlage bereitstellt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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.
- Vorherrschende Sprache
- Vim Script
- Sterne
- 7.9k
- Forks
- 691
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus macvim-dev/macvim
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
macvim-dev/macvim#1697 · 5 Kommentare ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
macvim-dev/macvim#1658 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
macvim-dev/macvim#1657 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
macvim-dev/macvim#1655 ·
-
Schwierigkeit 2/5 Ein halber Tag Anfängerfreundlichkeit 72/100
macvim-dev/macvim#1653 ·
Alle Issues in macvim-dev/macvim
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
google-deepmind/mujoco_warp#1694 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
google/libultrahdr#485 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
godotengine/godot#123776 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
KhronosGroup/glTF-Blender-IO#2770 ·