Native apps don't have any issue taking advantage of those GPUs.
WebGL demos usually posted here or on Reddit tend to be single digit FPS, if they run at all.
Native apps don't have any issue taking advantage of those GPUs.
WebGL demos usually posted here or on Reddit tend to be single digit FPS, if they run at all.
For a mobile WebGL-native experience, check out PlayCanvas, which offers a Unity/Unreal Engine style game production environment on the web platform, and targets mobile browsers by default.
Check out Swooop on PlayCanvas for example: https://playcanv.as/p/JtL2iqIH/
Can you do more with native? No question. Will you reach the same number of potential users? Certainly not.
Will your users appreciate the native difference? Maybe.
It seems to me that we keep seeing this argument over and over, but the point isn't whether a given technology makes life easier for developers, it matters whether they provide more value to the end users.
App install friction is by and large a red herring, as there is plenty of friction with the web ecosystem including user management, monétisation and the poor state of browser API support. I'll take technologies like cross-platform Xamarin anyday and provide my users with a better experience to boot.
Their are part of those single digit FPS demos I was describing.
What's your reasoning here? From a bird's eye point of view, this statement is completely factually incorrect.
When it comes to reaching users, being able to run the game at a playable framerate is very important. WebGL is unplayable on 2013 devices. Period. You're not reaching these users with WebGL, but you are with native C++.
To reiterate, I'm using a shared code base. I can type ONE command and build for either iOS, Android (x86 and ARM), desktop Linux, desktop Mac, or desktop Windows with the same code -- no extra work. This is possible with C++, given that it is a cross-platform language. Hell, even my toaster can run OpenGL.
So regardless, I can reach almost the same number of users using C++ though -- without relying on a walled garden. Emscripten is a thing, too, if I really want it to run in a browser.
> "Will your users appreciate the native difference?"
Definitely! Our point is that the difference in performance is staggering. Single-digit framerates feel like a slideshow. 30 FPS with native is smooth as butter.
My app's primary market is China. You see a lot of under-specced Huawei and Xiaomi phones there -- A LOT. The difference with C++ is them actually being able to run and enjoy my app.
Rest assured, I'm not masochistic -- I don't enjoy prolonging the prototyping process in this world of iterative development and quick and dirty MVPs, and for a startup that was at the time months away from completely running out of cash, it was still completely justified for me to invest six months of time building a C++ code base from the ground up to actually reach my user base.
Believe me, I tried my damndest to avoid the C++ gauntlet. Unity and WebGL developers are much easier to find and to hire. When the benchmarking data came in, it just wasn't possible to do anything otherwise.
You're trying to argue against using C++ in one of the few niche areas (real-time interactive computer graphics) that it is ACTUALLY the right tool for the job.
And don't even get me started on the sad state of cross platform in-browser audio recording on mobile...