Challenges with running CEF3 under Citrix virtual environment

102 views
Skip to first unread message

Charles Wright

unread,
Jan 15, 2014, 12:43:37 PM1/15/14
to wa...@googlegroups.com
We have an Delphi application using WACEF that will be delivered under in a virtual environment.
Under the default configuration, with CefSingleProcess = True it runs very slowly.  If we set that to False, then it runs quickly, however an exception dialog shows up, (but does not stop the program). It actually continues to run.  Using Eureka log we were able to trace it to:  

WaCefComponent.pas Line 538 -- FBrowser:=CefBrowserHostCreateSync(@info,FHandler,FDefaultUrl,@settings,nil);

It is an access violation trying to read address 00000000.

I am not very clear about distinction between CefSingleProcess and the compiler directive CEF_MULTI_THREADED_MESSAGE_LOOP.
Do we need to have that defined as well or is that independent of the message loop system?

Our other theory is that it is an issue with the lack of a GPU in the virtual environment.  Unfortunately, our application is already processing the command line parameters in way that conflicts with just letting passing it through.  Is there an API method of passing --disable-gpu to the WaCef component?

Thanks for any suggestions you may have.

Charles.


Charles Wright

unread,
Jan 15, 2014, 2:00:30 PM1/15/14
to wa...@googlegroups.com
A simple solution once I looked a the old CEF3 guiclient example:
In the main project source:

  CefSingleProcess := False;
  if not CefLoadLibDefault then exit;

  Application.Initialize;
 
I can't say I understand exactly how the multiple process works, but this prevents the library from being loaded twice, which actually showed in the stack trace from Eureka Log.

Cheers,

Charles.
Reply all
Reply to author
Forward
0 new messages