WebKit (non native) HTMLViewer performance Win7 vs Win10?

Yes the combinations are possible and you missed 2 more combinations with the NATIVE HTMLViewer control. I have already tried them all yesterday as per somebody’s suggestion (I think it was you?) except for the DesktopWindow because I didn’t know this existed, but given the fact that I’m already only building desktop apps then this is intrinsically already the case at compile time anyway.

All combinations don’t change anything except of course the native HTMLViewer which makes my web app not work at all on all OS’es. But it’s fine, I can still use WebKit on all PC’s, it works everywhere, except it’s not accelerated under nVidia chipsets, that’s the only small issue but the app STILL works.

The issue is in the way Xojo launches CEF. It prevents some nVidia chipsets to be taken off the blacklist and CEF refuses to accelerate graphics with them. I read online (not sure if that’s true) that the reason some nVidia cards are put on the Chromium blacklist is because the specs don’t 100% match what they claim and so Google just blacklists them altogether from their browser. Unless somebody can help me figure out how to change CEF’s launch COMMAND LINE after a Xojo app is built, then there is no way to solve this.

As I said before Window has different events than DesktopWindow (for example Open → Opening). It has nothing to do with you license or your target (desktop).

If you are starting with Xojo you should try to use all the new controls. You may have less problems in the future (fixes only for Desktop controls).

Wait, are you implying that you could compile DesktopWindow for mobile?

No, I’m talking about Desktop controls and non-desktop controls.

OK so are you implying that compiling a DESKTOP APP with a DesktopWindow will result in a different app than compiling it with just a standard Window? I would have expected the compiler to revert it to DesktopWindow at compile time if what you’re building is a desktop app. Or am I not understand at all how this works?

So just for the sake of it, I went into Xojo2022r1.1 in my project and created a brand new window and in the Inspector tab, I clicked edit next to Super and this is what I see. There is no DesktopWindow there? I also tried to add a brand new Window but the result is the same: it creates a Window, not a DesktopWindow. I don’t recall seeing “DesktopWindow” written anywhere in my Xojo2022r1.1 either. Here, take a look! :poop:

ezgif-3-7f43540203

Yes.

No, the compiler will not change TextField to DesktopTextField, it will compile the control you add to your project. If you are starting with Xojo and Desktop apps, you should try to use Desktop controls.

That’s because you already created your App with a previous version of Xojo and is created as Application and not DesktopApplication

If you create a brand new project you will get DesktopApplication, DesktopWindow, DesktopXYZ.

1 Like

Ohhh… I see! Thanks for the clarification :laughing: So if I were to do that, how would I proceed to port all the SH!T over from the Application to the new DesktopApplication? :frowning:

Was that a brand new window in a brand new project? If so, and as long as you’ve not messed with the default project you get when making a new peoject, you will get DesktopXyz controls.

If your project is API1 and your app is defined as Application as opposed to DesktopApplication, then you’ll get the behaviour you observed, rather than what we’re deescribing.

Back to the topic please!

Can somebody help me figure out how to change CEF’s launch COMMAND LINE after a Xojo app is built, because otherwise I’m afraid there will be no way to solve this unless it’s magically solved in the next Xojo release (if they upgrade CEF, or better yet, if they switch over to WebView2).

You can contact Xojo support and/or create a Feedback case with your problem and needs.

Report your trouble and give technical details about your hardware, complete data reported by CEF as already explained in here to people in the CEF Forum. See if the experts there give you deeper technical advice.

https://www.magpcss.org/ceforum/

I have posted there and the CEF developer replied. Current Google Chrome release (Chrome/101.0) runs the same web app at 144fps on the nVidia PC’s and every single option is hardware accelerated as per chrome://gpu.

However, CEF that ships with Xojo 2022r1.1 is based off Chrome/90.0 which IS MORE THAN 1 YEAR OLD.

Xojo needs to step up and bundle a CEF release from 2022, not from early 2021! This would help tremendously.

Something doesn’t make sense here, as the 2022R1 release notes say:

65807 Framework > Windows DesktopHTMLViewer updated to CEF 95.7.18.

See Release Notes for Xojo 2022r1 — Xojo documentation

And when I look inside a built (debug) app, it does look like version 95:

@Ben_D : Any chance you’ve gotten burned by testing the wrong version of your built app by mistake?

That is possible, but Chrome/95.0 came out in October last year, that’s 7 months old still.

No, I see version 95:

Test Setup:

  • Xojo 2022r1.1, building a x64 bit app, on Windows 10
  • I’m buildling on macOS and using the Xojo Remote Debugger to debug it (shouldn’t matter, but who knows?)

You are correct, I messed up while testing because I was very tired. I just recompiled and yes, it’s Chrome/95.0. But it’s still 7 months old, that’s from October last year. lol let me RE-TEST for a 10th time with the proper Xojo 2022r1.1 built .exe on W10 PC’s. Yes 10 tests I did yesterday and earlier today. So fed up with this, you have no idea :stuck_out_tongue:

EDIT: Alright, after PROPERLY sending over the correct build (with Chrome/95.0) over to one of the W10 PC’s, it’s still the same. I’m pretty sure I had previously tested at least a handful of times with that build anyway, but now I REALLY made sure by double checking it was showing Chrome/95.0 and it did. Doesn’t work, no hardware acceleration.

1 Like

No worries, happens to all of us!

One advantage of using CEF is that you know the exact version your app is using, regardless of if the user has Windows Update’d. That’s also the downside.

I wonder: can you build your app and then copy in newer versions of the CEF library/DLL files?

1 Like

THIS. I WANT THIS TO EXIST PLEASE. I am currently in touch with the main CEF developer. We’ll see what he suggests I could do with his app to make this work.

I notice that if you go here:
https://cef-builds.spotifycdn.com/index.html
And download the 2nd link “Minimal Distribution” and unzip the file, inside the Releases and Resources folders, I see some files with the same names as the files Xojo includes. Maybe you could swap those out and try?

1 Like

Oh yeah, this sounds promising. Please Supreme Being of computer science, make this work, I beg you. :crazy_face: :laughing:

Result: As soon as you replace libcef.dll the HTMLViewer control becomes blank in the built Xojo app. I’ll wait until the developer replies again. But damn, the idea sounded great, that’s for sure.