I compiled a small Xojo project, a canvas, some graphics and some code. Nothing fancy here. To my astonishment the whole package, .exe file and \libs was 214 Megabytes. Say what? In the \lib section is a libcef.dll with a footprint of 127.545 kilobytes, an icudt65.dll with 27.325 KB and some .exe files? Where do we need that for?
I don’t understand. A Delphi compile with the exact same functionality delivers a single exe size 12 Mb.
2 Likes
libcef.dll and its related files are for the Chromium Embedded Framework. These should only be included if you use HTMLViewer in your project.
icudt65.dll and related files are for the International Components for Unicode.
Uhmm… a whopping quarter of a Gigabyte for basic functionality?
1 Like
Chromium is a huge framework and you should avoid putting a DestkopHTMLViewer
in your app unless you really have the need. I wouldn’t go so far as to call it “basic functionality.” Rendering HTML, CSS, and JavaScript is a large task.
Edit: API 1 HTMLViewer
provides you the option to use the non-chromium rendering engine which will prevent this library from ending up in your files, but you’ll quickly note the missing features if your page uses anything modern.
or you use WebView2ControlMBS in MBS Xojo Plugins to get a HTMLViewer based on Edge/Chrome engine.
1 Like
Are these not what Windows uses? I would have expected this stuff to be built-in to WIndows.
We have been providing CEF on Windows for years at this point. There is Case 59961 to provide access to the WebView2 Edge engine.
<https://xojo.com/issue/59961>
Yes thanks all. I think we are all victims of the huge frameworks that run our desktops nowadays.
Well humph. Windows is peripheral for me, but it’s nice to be able to offer the same app there. However I’ve found that the HTMLViewer has always been a source of aggravation on Windows, what with having to ensure that IE11 was installed, then forcing the Viewer to render using it.
Still, at the minute that is the least of my Windows worries as I shall thread about separately.
This kind of hassle is why Xojo made the rendering engine no longer an option. It’s just always Chromium for ease of use.
Right. It’s the most consistent experience. Comes at the cost of a huge framework, but it’s reliable, which is a big deal. I’ve had my issues with CEF, but after trying a number of ways to avoid it, including WebView2 and using registry edits to force Edge mode, CEF is the only option that I can count on.
I hate that this is the state of things, but the fault really lies with Microsoft.