Lag on Chrome with disabled hardware acceleration

I’ve been testing my project to figure out why the performance of my project is significantly worse on desktop chrome than other browsers. I made a timer and a button to hide the Needle Engine component on my website to ensure it is actually Needle Engine that is causing the lag. By eyeballing the timer it seems to be 20+ times slower while the Needle Engine is visible. I also stripped the scene of all scripts and GameObjects except for 4 static objects by disabling them in the inspector in Unity. If I disable the remaining GameObjects it does in fact fix the lag.

I’ve tested desktop chrome against other browsers on 4 machines. On one machine the project runs without lag on Chrome, but the other three do lag. On these machines, even the official sample projects on the Needle Tools website lag. I’ve also tested my project on Chrome on a mobile phone and it did not lag. I believe I have the latest version of Needle Tools installed and I have installed Toktx. There are some warnings to the console for my project which I will attach a screen shot for.

Here’s my site: Tanner Samples Portfolio
And its repo: GitHub - TS-Programming/my-portfolio.github.io

Let me know if I can provide anymore info, thanks.

Original Post on Discord

by user 216692838757433347

Hello there – we have an experimental AI bot :robot: that might be able to help you with your question. Would you like to try this out?

How it works:
Reply to the messages of the bot that end with a thread_id to interact with it and ask follow-up questions. You can also mention the bot directly in this channel to get help.

Help requested: please wait a moment…

Here is what I found for you :brain: Discord

Hello Dubbies,

Performance issues like the one you’re experiencing can be caused by different factors including hardware acceleration settings, browser versions, browser extensions, or specific content within the Needle Engine component that may not be optimized for Chrome on desktop.

Follow these steps to troubleshoot the performance problem:

  1. Update Chrome: Make sure Chrome is on the latest version as updates often include performance improvements.

  2. Browser Extensions: Disable all browser extensions to rule out interference, as some extensions can significantly affect performance.

  3. Hardware Acceleration: Check if hardware acceleration is enabled in Chrome settings (chrome://settings/?search=hardware+acceleration). If it’s enabled, try turning it off to see if there’s any improvement, as some GPU drivers may have issues with certain web content.

  4. Chrome Flags: Reset all Chrome flags to default (chrome://flags/) as some experimental features might cause performance degradation.

  5. Performance Profiling: Use Chrome’s built-in Developer Tools to profile the performance. Press F12 to open Developer Tools, go to the Performance tab, and record a profile while the project is running to see where the bottleneck might be.

  6. Console Warnings: Solve the warnings you mentioned. Sometimes seemingly harmless warnings can hint at deeper issues affecting performance.

  7. Needle Engine Stats: Append ?stats to your website’s URL to display performance statistics provided by Needle Engine. This might give clues on whether the bottleneck is in the rendering, scripting, or something else.

  8. Optimization: Optimize the scene itself. Large textures, complex shaders, and high-poly models can all reduce performance. Try simplifying materials and reducing texture sizes.

thread_d2yIHq3cxGuxlIdGDej9jAX6

  1. Feedback Loop: Share your findings with the team or community. Sometimes others may have encountered similar issues and can provide solutions.

Additionally, since you mentioned you have some console warnings, please fix them first, as they could be related to the performance issues. If after trying these steps the problem persists, and you can confirm it’s not just related to browser or machine-specific issues but tied to Needle Engine, you might want to reach out to Needle Tools support directly or check their FAQ for performance-related tips: Questions and Answers (FAQ) 💡 | Needle Engine Documentation.

Please provide any profiling data, console warnings screenshots, and information about the specific Chrome version and computer hardware you have tested on, as they could help pinpoint the issue further.

1 messages left GPT 4
thread_d2yIHq3cxGuxlIdGDej9jAX6

Hi, which objects in the scene are now left?

The repository only contains the built scene right? - can you share some more info about your project in unity which meshes/materials/components are used?

I believe the repository contains the built scene coming from the deploy to github script as well as the react application for my portfolio. The only objects visible in the scene are the 4 visible floating islands. I’ll take some screen shots in Unity and find the package I got the islands from.

by user 216692838757433347

But yes, the Unity project itself is not in the repo, however I could make one for it that would help.

by user 216692838757433347

Here’s some screen shots of the hierarchy and the inspector showing one of the islands components. I’ll also link the package they’re from. I hope this helps. I’m here if you need more info. AshMoor - Lowpoly Environment by Unvik_3D | 3D Landscapes | Unity Asset Store


by user 216692838757433347

How many verts does one of these objects have and can you try running the scene with disabled mesh collider components?

will do

by user 216692838757433347

The larger of the two island meshes has 845 vertices while the smaller has around 300. Disabling the colliders may have had a marginal performance increase, but it is still taking several seconds for the timer to increment by 1 second.

by user 216692838757433347

That doesnt sound right and is not normal. Which timer do you refer to?

Looking at the scene again: can you complete disable the objects from being included in the export by setting their Tag to EditorOnly (the “Items” GameObject etc - disabling it does just not activate them at runtime but they’re still included in the three.js scene)

The timer is a react component on my site positioned above the Needle Engine. I created it as a debug tool after noticing the lag in the mechanics of my scene. I’ll test it with the EditorOnly tag now

by user 216692838757433347

Is it ok if I just change the tags of parent objects or does it need to be all objects including children?

by user 216692838757433347

Just the parent is enough
You can also append ?stats to your URL to see a simple FPS counter

kk thanks

by user 216692838757433347

Ok I’ve tested with all the disabled GameObjects tagged as EditorOnly, and I’m clocking about 20 fps with the timer running at a fraction of its normal rate

by user 216692838757433347

Yet the site runs at 60 fps using Edge on the same machine

by user 216692838757433347

Can you double check that its not any extension by opening the site using incognito mode in chrome? Which chrome version do you use?