aseprite / aseprite/aseprite

GPU acceleration option

Open
#960 4 comments 0 reactions 1 assignee Claimed by @dacap View on GitHub
gpu maintenance native refactor complexity ui
Dominant language
C++
Stars
39.5k
Forks
9k
Avg merge
3d 18h
Merged PRs (30d)
8

Description

[The new Skia](https://github.com/aseprite/aseprite/issues/139) port supports GPU acceleration (Direct3D, OpenGL, Metal). Anyway the GPU acceleration isn't working as expected (it's slower than the software backend). This performance issue is related to a heavy use of CPU bound operations and using images directly from RAM without uploading them as GPU textures.

We'll disable the hardware acceleration until we fix several CPU bound things:

- [x] the way the cursor is managed (e.g. [using the hardware cursor](https://github.com/aseprite/aseprite/issues/346))
- [x] color selectors with shaders (aca96c6d36c60ff68ee0f560a4549899adbf22ae and 23b269a6bc55466820124ff501731749346d395e)
- [x] #4825
- [x] overlapped areas are saved (e.g. using GPU memory), and the brush preview is updated (e.g. using shaders).
- [x] the way the brush preview is managed
- [ ] re-write the editor rendering (#3516), e.g using tiles, similar to Chrome layers: https://web.dev/articles/speed-layers

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.