Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libmythui: Use OpenGL/Vulkan for scaling #227

Open
mark-kendall opened this issue Sep 22, 2020 · 0 comments
Open

libmythui: Use OpenGL/Vulkan for scaling #227

mark-kendall opened this issue Sep 22, 2020 · 0 comments
Assignees
Labels
task:developer Developer Task version:master Master Development Branch
Milestone

Comments

@mark-kendall
Copy link
Member

Currently, libmythui will scale all theme images for the current widget size.

This is suboptimal when using OpenGL or Vulkan and the display size is larger than the theme resolution:-

  • there is a delay at (first) startup as the images are scaled in software
  • uses additional disk space (which may be undesirable on some platforms) for the disk theme cache
  • uses more CPU and GPU memory to cache current theme images (4x as much for an HD theme displaying at 4K)
  • slows rendering of dynamic images (i.e. non themed elements such as fanart) that must be scaled before display
  • slows rendering (more texture sampling)

We should pass the raw theme images to the painters and let the GPU scale.

The existing behaviour should be retained when using the Qt painter (although Qt may handle this ok).

@mark-kendall mark-kendall added version:master Master Development Branch task:developer Developer Task labels Sep 22, 2020
@mark-kendall mark-kendall added this to the 32.0 milestone Sep 22, 2020
@mark-kendall mark-kendall self-assigned this Sep 22, 2020
@stuarta stuarta modified the milestones: 32.0, 33.0 Feb 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
task:developer Developer Task version:master Master Development Branch
Projects
None yet
Development

No branches or pull requests

2 participants