[Commits] [wesnoth/wesnoth] 2b30ff: Refactor calls to CVideo::flip()

GitHub noreply at github.com
Sun Mar 27 23:24:32 UTC 2016


  Branch: refs/heads/renderpath_redo
  Home:   https://github.com/wesnoth/wesnoth
  Commit: 2b30ffc15b09677bd016e7aae6bbbd0a49ebc0e8
      https://github.com/wesnoth/wesnoth/commit/2b30ffc15b09677bd016e7aae6bbbd0a49ebc0e8
  Author: Andreas Löf <andreas at alternating.net>
  Date:   2016-03-28 (Mon, 28 Mar 2016)

  Changed paths:
    M src/about.cpp
    M src/construct_dialog.cpp
    M src/controller_base.cpp
    M src/dialogs.cpp
    M src/editor/controller/editor_controller.cpp
    M src/events.cpp
    M src/events.hpp
    M src/game_initialization/multiplayer.cpp
    M src/generators/default_map_generator.cpp
    M src/gui/core/event/handler.cpp
    M src/gui/widgets/window.cpp
    M src/help/help.cpp
    M src/hotkey/hotkey_preferences_display.cpp
    M src/intro.cpp
    M src/loadscreen.cpp
    M src/loadscreen.hpp
    M src/play_controller.cpp
    M src/storyscreen/render.cpp
    M src/wesnoth.cpp

  Log Message:
  -----------
  Refactor calls to CVideo::flip()

This adds a timer in the SDL event queue that fires every 20ms in order to add a draw event into the queue. After the draw event has been processed by all listener, a call to CVideo::flip() is made. All other calls to CVideo::flip() have been removed.

This is the first step towards simplifying the rendering path and making sure the screen is in a consistent state when the flip() call is made. Having the screen in a consistent state will resolve flickering.

This incidentially also fixes resizing in load screens by always blanking them and doing a full re-render.





More information about the Commits mailing list