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).
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!
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
Ohhh… I see! Thanks for the clarification 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?
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.
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).
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.
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.
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
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.
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?
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?
Oh yeah, this sounds promising. Please Supreme Being of computer science, make this work, I beg you.
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.