You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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).
The text was updated successfully, but these errors were encountered:
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
andguibgbmp
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 flagThis had been fixed.guis_need_update
, which is set whenever anything on any GUI or control changes. When this happens all of the GUI gets redrawn.NOTE: This ticket is essential before supporting any kind of GUI transformation (like scaling).
The text was updated successfully, but these errors were encountered: