Autor Wątek: Pomoc przy wyborze manegera okien w ClanLib  (Przeczytany 744 razy)

Offline mararok

  • Użytkownik
    • Dark Program

# Lipiec 24, 2011, 17:47:34
W clanGUI istnieją obecnie trzy różne Manager Okienek:
  • GUI_System - CL_GUIWindowManagerSystem
    A traditional window system, typically used by desktop applications (word processors etc)
    The window responds to operating system events, there is no main loop.
    The operating system controls when the window contents is to be drawn.
    If GUI components do require redrawing, they can call request_repaint()
  • GUI_Texture - CL_GUIWindowManagerTexture
    The GUI is rendered to an off-screen texture.
    If using gui.exec(), the texture is drawn to the screen each frame.
    You can apply post-process effects to this texture.
    The GUI off-screen texture is only updated when required - using a request_repaint() from a component.
    The off-screen texture is known not to work on Intel 965 Mobile Express graphic cards, due to limited OpenGL support.
  • GUI_Direct - CL_GUIWindowManagerDirect
    The GUI is rendered directly to the CL_DisplayWindow
    You control the main loop, including clearing the screen.
    Use render_windows() to draw the GUI
    This does not use an off-screen texture.
Czy ktoś może powiedzieć który jest najefektowniejszy w rysowaniu GUI na ekranie?

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline hashedone

  • Użytkownik

# Lipiec 24, 2011, 18:02:58
A przeczytales w ogle te opisy? Jesli dobrze rozumiem to pierwsze uzywa natywnego API systemowego, a wiec okienka sa tworzone tak jak bys uzywal WinAPI (tylko jest inne API). Drugie to rendering GUI do tekstury - pozniej z ta tekstura mozesz zrobic co chcesz (wyswietlic na ekranie, nalozyc na obiekt, przed tym mozesz potraktowac ja postprocesem). Trzecie zdaje sie renderingiem bezposrednio do okna (a wiec do jakiegos obszaru renderingu). Nie ma ze jedno z nich jest do czegos najlepsze - kazde sluzy do czegos innego (no moze w miejsce 3. mozna by uzyc 2, ale to masa dodatkowej roboty).