What is the difference when enabling/disabling MultiThreadedMessageLoop? Is the performance different?
I am asking because my code until now assumed that CreateBrowser is a synchronous function (I was using dcef3 where it is). So, currently I set MultiThreadedMessageLoop := False to force this. However, if the performance of the MultiThreadedMessageLoop is better, I will rewrite the code to take advantage of it.
Disclosure Statement: This site contains affiliate links, which means that I may receive a commission if you make a purchase using these links. As an eBay Partner, I earn from qualifying purchases.
MultiThreadedMessageLoop implications
- salvadordf
- Posts: 4564
- Joined: Thu Feb 02, 2017 12:24 pm
- Location: Spain
- Contact:
Re: MultiThreadedMessageLoop implications
Hi,
I haven't run any benchmarks but I noticed that it improves the user interface responsiveness.
Quoting Marshall Greenblatt : http://magpcss.org/ceforum/viewtopic.ph ... oop#p18180
I haven't run any benchmarks but I noticed that it improves the user interface responsiveness.
Quoting Marshall Greenblatt : http://magpcss.org/ceforum/viewtopic.ph ... oop#p18180
Another quote from another CEF binding : https://github.com/cztomczak/cefpython/issues/133it's intended for use when integrating CEF into frameworks that have their own hidden message loop implementation.
Those are very old and incomplete quotes, so you should do some tests in your own app.Multi threaded message loop may help improve performance in some applications. For best performance it is recommended that multi threaded message loop is used instead of external message pump on Windows platform
Re: MultiThreadedMessageLoop implications
I've done some tests and it seems that in all cases the async version results in equal or faster browser creation and first page load, so it is worth rewriting the code.