Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Wanted to share my progress / findings.  I put more time and thought into performance than anything else in the time since.  Please try out Save the Animals (on windows or web now) and see how well it works.

____

The challenge: Only a week to make it, wanted to make it playable on web, but has poor performance, especially when testing without graphics card.

The Red Herring: Profiling was pointing me towards _process and I tried a whole bunch of things but only a few of them made any difference. Those were....

Some things I found worked:

  1. You can use OS.get_name() to find out of they are on "Web" or "Windows" or something else and configure based on that.
  2. Configure the lod_bias of your meshes, lower numbers will load simpler meshes, higher numbers force more complex meshes.
  3. Configure the visibility_range_end of your meshes. (hint definitely do this with code).
  4. Have less meshes.
  5. Find out which shaders do the most damage and remove them from the web version (all my attempts at rain caused major lag).
  6. Add a "low graphics mode" or lower graphics options (I did the former for game jam format).

Some other things worth trying:

  1. Multimesh instancing: I could not get these to show up after an hour of trouble shooting. I will come back to this. Any recommendations for tutorials or resources?
  2. reduce resolution: This feels obvious for improving web performance but unfortunately will take more work than just turning the resolution down.

Any other ideas and tips for improving performance / getting the most out of Godot for 3D on Web?