Feature/cef speedup (#806)

* Improve cmake errors
  * Calling doMessageLoopWork more often to increase gui performance
  * Introduce frequent callbacks
  * Restructure browser update callbacks
  * Cleanup cef speedup
  * Add flag to toggle updating browser between renderable calls
  * CEF should not be used in single process mode
  * Update CEF version
  * Postbuild step for finding framework from web helper
  * Load libcef dynamically to fix issue with CEF update
  * Only include dynamic library loader on mac
  * Improve keyboard mapping support on MacOS
  * Add arrow keys
  * Rename manifest
  * Fix bug with missing blinking cursor in text fields
  * Bump minimum cmake version
  * CEF fixes: Runtime and correct helper path
  * Be true to actual sandbox compatibility specified by CEF
  * Cleanup
This commit is contained in:
Emil Axelsson
2019-04-24 10:53:46 +02:00
committed by Alexander Bock
parent ba1aaa1672
commit 0dcf65ce4f
47 changed files with 498 additions and 145 deletions
@@ -77,6 +77,18 @@ static std::vector<std::function<void(double, double)>>& mousePosition =
static std::vector<std::function<bool(double, double)>>& mouseScrollWheel =
detail::gMouseScrollWheel();
/**
* If the framerate becomes slow, Chromium Embedded Framework (used in Web Browser Module)
* needs to perform its message loop work more frequently than once per frame. If this
* method is not called frequently enough, the GUI will become much less responsive.
* A future more long-term may decouple the browser's message work loop from the main
* render loop altogehter using a separate thread.
* Currently, this method is called from within the RenderEngine,
* between calls to individual renderables.
*/
extern void (*webBrowserPerformanceHotfix)();
} // namespace callback
} // namespace openspace::global