Hi, I tested my 2.5d game prototype using havok engine, and in chrome and safari, smooth as butter, but when I run it inside tauri (maybe using wkwebview), the fps counter is still 60, but the screen changes is jittery, anybody knows why is this happening ?
Tauri uses WebKit on macOS. I use a webview with Flutter (uses WebKit as well) and everything runs smoothly. I suggest you to ask this question on the Tauri forum as well as it might be an issue with the component itself.
If I was about to choose I would go with React Native instead. Flutter in our current project was not my choice. Both frameworks has their own quirks. However the biggest drawback of Flutter is that you’ll have to learn Dart, as it is the programming language used in Flutter.
Both frameworks comes with several community backed webview components, however only one or two are considered as mainstream.
Setting up a webview in both frameworks is pretty straighforward and easy.
@roland Thanks for your reply, I tried your solution and it works (with some caveat) - the rendering is the same as safari, the caveat that I have (quite strange) - I have this press space bar to jump, when using flutter webview, it won’t stop jumping - tried to change the key to ‘J’ and still the same, is there different behaviour in webview that I should know of ? Ah you like react native better, I just use AI to help me and it set up the project quite easily
Ok, I take back my statements before, it seems the same in flutter there’s jitter also, maybe the webview and safari is not using the same engine or something. But in flutter there’s more problem with ‘jump’ key and not happening in tauri
Yes like I said previously, in safari browser on the mac, it works fine only in webview it jitters, feel kinda like dropped frames
Edit : I tried to console log in webkit (tauri) and safari browser on the mac :
[Log] WebGL Version: – “WebGL 2” (MovingBasic.ts, line 146)
[Log] GL Version String: – “WebGL 2.0” (MovingBasic.ts, line 147)
[Log] GLSL Version: – “WebGL GLSL ES 3.00” (MovingBasic.ts, line 148)
[Log] Renderer: – “WebKit WebGL” (MovingBasic.ts, line 149)
[Log] Vendor: – “WebKit” (MovingBasic.ts, line 150)
[Log] WebGL Version: – “WebGL 2” (MovingBasic.ts, line 146)
[Log] GL Version String: – “WebGL 2.0” (MovingBasic.ts, line 147)
[Log] GLSL Version: – “WebGL GLSL ES 3.00” (MovingBasic.ts, line 148)
[Log] Renderer: – “WebKit WebGL” (MovingBasic.ts, line 149)
[Log] Vendor: – “WebKit” (MovingBasic.ts, line 150)
It seems both outputting the same exact version yet there’s drop frames in webkit, tried to limit the fps but seems limiting fps make things worse even in regular browser
Hi @Deltakosh, I wondered about that too since its on the mac I suppose it always work ? With resolution, its the same, and tried to reduce the window size in the webview version and it seems help a little bit but still there’s like frame drop. I’m kinda dissapointed with apple - this will make distributing web based 3d application must use bloated electron since chrome > safari > webkit
There must be something. They are dumb but not that dumb right? Can you somehow profile within the webview to see how things are doing and who is consuming the most?
edit : It seems smoother and when I resized the window it wont reload the website, thanks @roland. But like using WebViewWidget in flutter, it got this weird bug then when i press jump, it wont stop jumping but the arrow keys to move around is acting normally, this is not happening with tauri
edit2 : after some observing, it definitely faster but still not as fast as regular safari, and the weird jumping thing, stopped when I focused with mouse click to another “component”