Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

32-bit Windows OS is a stopper for Unity WebGL. Not just a Chrome.

Discussion in 'WebGL' started by support, Oct 27, 2015.

  1. support

    support

    Joined:
    Oct 24, 2013
    Posts:
    19
    We have analyzed our three different games that are played in production world-wide. The result is pretty similar for all of them. Usually, Chrome is declared guilty. However, It is just because it is more popular than FireFox. However, even the same FireFox that works well on Win64, has a high failed rate if Win32 is used.

    We have gathered a tone of real user browser logs. What we can see there: Internet speed does not mater, memory size does not mater. If user comp downloads the game in 10 secs and a allocates 512Mb memory, it will failed on Win32.

    I have attached the screenshot. The latest 2000 attempts for Chrome, FireFox and Edge are analyzed.
    WOW64 is a 64-bits. We did not include the cases when users drop the connecting before all files are dowloaded.

    Edge is a special case. Windows do not turn on using asm.js by default. As a result, Edge works extremely slow. If the flag is turned on, Edge works perfect.

    The most critical moment is processing and executing the main game js file. In most cases the log is ended at this point.

    Win64 Chrome always hanged up for 5 secs during the main game js file processing (asm.js issue). FireFox has no delay for this moment.


    Screen Shot 2015-10-27 at 10.39.12 AM.png
     
  2. Marco-Trivellato

    Marco-Trivellato

    Unity Technologies

    Joined:
    Jul 9, 2013
    Posts:
    1,654
    I suppose the 3 first columns represent the 3 games but what do the numbers actually mean ? Also, I am not quite sure I completely understand the 4th and 5th column either.

    BTW, thanks for sharing this data.
     
  3. support

    support

    Joined:
    Oct 24, 2013
    Posts:
    19
    It is a table for one particular game. I have attached other two also.

    Column 1 (green): players start to play game successfully.
    Column 2 (yellow): player loaded the game (the scene started, but initialization code is failed for some reason).
    Column 3 (red): player loaded all game files, but Unity Loader is loader is failed. Scene is not started.
    Column 4 is just a visual representation for column 1-3.
    Column 5: browser for those numbers.




    Screen Shot 2015-10-27 at 12.48.28 PM.png Screen Shot 2015-10-27 at 12.47.30 PM.png
     
  4. Falkarma

    Falkarma

    Joined:
    Nov 25, 2014
    Posts:
    1
    Very nice info, thanks for sharing. If its not too much asking, what does it give as an overall drop rate of player trying to play the game?
     
  5. Schubkraft

    Schubkraft

    Unity Technologies

    Joined:
    Dec 3, 2012
    Posts:
    1,067
    We and the browser vendors are working on improving the WebGL/JS stack but the 32bit memory size is just very limiting for what we are doing. There is no magical bullet to fix this but constant iteration. And even then it will never be on par with 64bit systems just by the nature of things.
     
  6. support

    support

    Joined:
    Oct 24, 2013
    Posts:
    19
    >what does it give as an overall drop rate of player trying to play the game?

    It depends of the region and the size of the game. I have attached one more screenshot from our proprietary game monitoring tool. Those are 50 latest attempts. All players are unique.

    green lines - player started to play successfully.
    yellow lines - the scene started, but player did not start a level for some reason.
    red lines - player downloaded the game, but unity loader was failed to start or scene did not loaded.
    grey lines - player close browser tab before all game files are download (usually, slow internet)

    1 column - time for unity loader is done (100% of the progress bar)
    2 column - scene is started (Awake is called on the scene)
    3 column - start menu is shown.

    Size: Compressed folder is about 8Mb, Assets Bundle - 11Mb. It is a game on Facebook, mostly women after 40, mostly US traffic.

    So, we have about 35% success rate for those latest 50 players. Sometimes, it is up to 45%. I.e. our drop rate is 60%.
    We checked a traffic from South America. 32bits are dominated there. 20% for success is a lucky moment. Drop rate is 80% and up.



    webGLtraffic.jpg
     
  7. arumiat

    arumiat

    Joined:
    Apr 26, 2014
    Posts:
    321
    Hi support, would you consider making this proprietary code available for monitoring such things? Either free or paid?
     
  8. bigbadtrumpet125

    bigbadtrumpet125

    Joined:
    Apr 1, 2013
    Posts:
    18
    I know our company would absolutely love to have something like this! Even just getting loading failure rates with that information in a centralized place would be huge!