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

Make GUI drawing compatible with hardware-accelerated sprite stack #988

Closed
ghost opened this issue Nov 11, 2019 · 1 comment · Fixed by #1393
Closed

Make GUI drawing compatible with hardware-accelerated sprite stack #988

ghost opened this issue Nov 11, 2019 · 1 comment · Fixed by #1393
Labels
context: graphics type: enhancement a suggestion or necessity to have something improved

Comments

@ghost
Copy link

ghost commented Nov 11, 2019

GUI rendering is currently a slow part in AGS, because it is all done using software operations (controls drawing) and only final result (whole GUI's surface) is converted into texture. Thus there are textures per each GUI, but controls are drawn outside of the renderer (see guibg and guibgbmp arrays).
Naturally, a slightlest change to GUI or any control on that GUI will result in whole GUI getting redrawn (actually, the situation is even worse, see note below).

Suggestion is to instead create and maintain a DDB (texture) per each GUI Control similarily to how it's done for characters and objects. These textures should then be passed into renderer according to gui/control z-order.

NOTE: This may be viewed as an issue on its own, but currently there's a global flag guis_need_update, which is set whenever anything on any GUI or control changes. When this happens all of the GUI gets redrawn. This had been fixed.
NOTE: This ticket is essential before supporting any kind of GUI transformation (like scaling).

@ivan-mogilko ivan-mogilko added type: enhancement a suggestion or necessity to have something improved context: graphics labels Nov 11, 2019
@ivan-mogilko
Copy link
Contributor

Forgot to make note, there's a draft pr opened, with couple of issues left unsolved at the time of writing, see more information here: #1393.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
context: graphics type: enhancement a suggestion or necessity to have something improved
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant