On my tablet, i’m reaching the performance limits with my app. My problem is that i haven’t found a comparable development server on my computer as i use on my tablet. I use ksweb on my tablet. Visual studio code uses the chrome or firefox browser on my computer. But on my computer my app is so slow, despite the multiple computing power, that hardly anything moves there. I do not understand that. What I need is software that allows me to use my app just like on my tablet, but with the full potential of my computer.
It can’t be that my app in ksweb runs much faster on my tablet than on the computer.
what exactly is electron? I came across this in my search. Can i bundle my app to an android application or linux or windows application that uses the full potential of the hardware?
How is this related to Three.js?
Is your Three.js project fast on a tablet and slow on a computer?
Exactly. My threejs app runs smoothly on my tablet but on the computer with the visual studio live server it is unplayably slow. It’s a very large app that loads a lot of data, but if it works well on my tablet with significantly less computing power, then the app can’t be the cause.
Here are a few pictures to illustrate what my app is about. this is mars. I also have the earth and the moon. I can generate original true-to-scale planets. I can fly in and land on the surface from a great distance and move around freely. I had to dig deep into the box of programming tricks for this, quadcubetrees, multithreading, bicubic interpolation, own decoders, …
But if I can move around on the tablet with wasd and arrow keys without any problems and I can see the processor utilization with a tool, then my app can’t be the cause of the fact that hardly anything moves on the pc with the visual studio code live server. There is much more to do! I still want to improve and implement so much. But on my tablet, the small amount of RAM (max. 3.5 GB, the other 4.5 GB is used or reserved by the operating system) is a major obstacle. That’s why I wanted to test it on my PC. I could also set the terrain parameters larger on the PC because my pentium has significantly more power. But I also need a capable interpreter like on my tablet. The visual studio code live server is not suitable
It is your application, you have access to the code. Maybe the way to go is to debug or trace the application, so you can find what exactly is the cause.
Have you tried the official Three.js examples running from your computer? If they run significantly slower than on the tablet, most likely there is an issue with your browser, computer, OS or GPU (it could be something simple like turned off hardware acceleration, or something complex like incompatible graphics driver). If examples run equally fast, then most likely it is something within your application.
In the past some browsers were not compatible with some GPU, so instead of the GPU they used software simulation. But this was many years ago. If your application is online, you can share its URL so others can test its speed too.
I’m sorry, I cannot be of further help.
That might be related to the resolution. Maybe you have some shader that does postprocessing or relies on the screen resolution in some way (since desktops have higher resolutions as a rule that might be much more taxing on the GPU)? Easy check: try scaling down the rendering resolution to 0.1 and see if that helps
Also, some laptops with integrated graphics cards are beyond abysmal when it comes to the 3D performance, which can be much worse than on mobile. I had issues with apps that ran flawlessly on iPad and were terrible on Intel GPU. Look for issues like too much lights, too high resolution, too many draw calls etc
I think its not the case of the server performance or browser featuers since desktop browsers as a rule have much better WebGL feature support than mobile.
In general CPU should not be that much utilized anyway - it’s the GPU primarily. Server has nothing to do with that also - all the rendering is on the client (browser) side.
Ksweb uses the same software the PC server would use (nginx, php etc), so I think you can just use the same toolset if you want
Also if you are using Linux - Firefox has lots of unresolved issues with WebGL (like capped framerate), Chrome is OK.
If I make a very primitive app on the PC, just a threejs setup in which I create a plane with 2000 x 2000 points, it jerks enormously. But it works fine on my tablet. Even 3000 x 3000 still works smoothly on my tablet. When I’m modeling in Blender, I can move around in the editor with so many points, too. Maybe blender uses other parts of the processor. I don’t have a graphics card in my PC. But I don’t have that on my tablet either.
My operating system is ubuntu with firefox. Maybe the issue with webgl you mention is a possible cause. Postprocessing is also GPU-heavy and postprocessing is indispensable for me. Are mobile processors that much better than Intel at this?
Firefox is really bad for WebGL (on Linux), you should see improvement in Chrome.
If you want to package your app as a desktop app you might want to take a look at Electron ( https://www.electronjs.org/ ). It grants more control over the browser to you as a developer.
If you want to publish it on the web you should just warn Firefox on Linux users that they should switch browsers or experience really bad performance (there is no fix for Firefox on Linux WebGL issues at the moment, it’s on browser developers entirely - my understanding is they don’t want to fix WebGL issues with Firefox on X11, instead they are waiting for increased Wayland adoption - or whatever now Wayland is called - and ignore issues they have on X11 ). Chrome is ok
In my experience, many integrated GPUs perform worse than mobile phones, so I think that adds up. Processor should not matter much, just the GPU. You might have better CPU but it does not matter with WebGL that much
Also I wasnt thinking about plane in the app, I was talking about the renderer resolution. For example try to resize the browser window to be smaller just to check (to decrease the rendering resolution) and see if that is connected to the lag
I got my project cross-origin-isolated about 4 weeks ago. The result is awesome. On my PC it runs so smoothly and on 86 inch full screen it’s a great sight. From what you said about firefox, it’s ironic that it runs so well in my firefox.
For those who want to get their site cross-origin-isolated, I have a small todo for the apache2 server