Dev Diary: New Intel Map Rendering Algorithm

ofer2ofer2 ✭✭✭✭✭
edited July 2020 in Ingress Insights

Rendering is the process of taking all of the data about where a Portal, Link, or Field is and drawing this on the screen. Traditional render methods essentially take a blank canvas, then paint each datapoint one at a time, until finishing the frame and displaying this to the user. To update, it then discards the frame and starts this process all over again. With large datasets, drawing the frame can take a very long time, most of which is spent redrawing existing data — tl;dr: it’s an inefficient process.

Developed in 2012, the general algorithm used by the original Intel Map loaded data in “chunks” rather than all at once to try and reduce initial loading times. And instead of discarding every frame, it looked at the data to see what changed, then removed and redrew the updated data. But in Portal dense areas, like San Francisco and Tokyo, as you’re well aware, the original Intel Map could still take minutes to finish loading.

The new Intel Map rendering algorithm improves upon the original by changing how we define each “chunk.” Mobile phones in 2020 are much more performant than the average hardware available in 2012. We now load as much data as possible within a time window versus a set number, which allows the algorithm to adapt to the CPU performance of each Agent’s device. 

Additionally, instead of parsing all of the data with every frame, we check to confirm everything is correct once the render is done, whether that’s at the end of the frame or at the end of a few frames.

Finally, rendering now prioritizes Fields, then Links, then Portals. We found that rendering the data in this order makes larger areas of the map fill in first, showing visual progress earlier. 

In a nutshell, the new Intel Map rendering algorithm is a lot faster. It’s now doing less repetitive work, and also working more efficiently. The performance gains from these changes are even more noticeable on mobile than on desktop, and can reduce loading times of Portal dense areas from minutes to several seconds.

«1

Comments

  • Woo ****. I was rendering graphic points in 1999.

    Glad niantic is figuring stuff out that is a known issue.. from Google maps and before...

  • Finally an upgrade to years old tech!

  • When are you going to fix intel bugs? Like this https://youtu.be/SfdD9SoXlQ4

  • 1valdis1valdis ✭✭✭✭✭

    Nice job!

  • Shooters42Shooters42 ✭✭✭

    Good :)

  • Great news! =D

  • InvestigateXMInvestigateXM ✭✭✭✭✭

    Am I dreaming? Who is this and what did you do to Niantic? Stock intel is working really damm smoothly now, I never thought I'd see the day...

    Great work!

  • XinFuuXinFuu ✭✭

    Please!!! That design concept is from REDACTED. The intel map should change to design concept of PRIME. When can we see that update?

  • drh4kordrh4kor ✭✭
    edited July 2020

    Thanks for all you and the team behind the game do! A labor of love, for sure. Kudos. #shipit 👏🏼👏🏼👏🏼👏🏼

    "Good things come to those who wait"

  • jontebulajontebula ✭✭✭✭✭

    Very nice and good work! 👍🏻💙

    When we get new app for Intel on phone with modern and nice design? @NianticBrian if Niantic relese the app all agents stop use IITC. All agents wait for Niantic relese app for Intel on mobile.

  • That would be great updating the intel map. When the map is quicker, It would be easier to plan and create control fields. Saves time

  • jontebulajontebula ✭✭✭✭✭

    No help mutch on mobile when Niantic dont relese app for Intel Map. Please understand agents need app for mobile. @NianticBrian

  • @ofer2 this is really slick, and a clever implementation. A lonnnnng-awaited upgrade that will really help on a lot of fronts. The prioritization of getting fields/links first makes sense too.

    Sure, there's more upgrades we'd still like to see, but this just deserves a big giant heaping of gratitude.

    THANK YOU.

  • don't see any improvement in my chrome. Is this really live? I mean I see the left hand video beeing live, not the right one. If so, well, the issues are still there (e.g. comm says about an action, yet intel doesn't show the link/filed/portal capture), so you haven't done your homework yet

  • GrogyanGrogyan ✭✭✭✭✭

    @ofer2 for over 7 years we asked for a massive increase in the speed of the Intel map.

    It took a long time to get here.


    Thanks

  • jontebulajontebula ✭✭✭✭✭

    Only work on mobile if Niantic listen on agents feedback and release app for Intel Map. With Website on mobile and without app are very very slow and bad.


    When we get the app for Intel Map on mobile? @NianticBrian @NianticCasey

  • slipsecslipsec ✭✭✭

    The IT crowd loves to eat this stuff up. It's really fun to read some tech details, thank you so much for the window and the improvements @ofer2 great work!

  • Deaf1Deaf1 ✭✭

    Thank you for the hard work on the Intel map. Looking forward to other updates.

  • GrogyanGrogyan ✭✭✭✭✭

    Mobile Web browsers use html 5,which means that the vanilla Intel msp is inherently, cross platform. Not everything has to be an app.


    To the solo player, the vanilla Intel map is now usable, after so many years. Making IITC redundant, because that was IITC was the ONLY way to plan your local fielding adventures.


    However, IITC should still be considered an extension to the vanilla, as it is widely used to coordinate agents on big fielding OPs and Anomalies.

  • Ktulu789Ktulu789 ✭✭✭

    Now that intel is fast... Can you take a look at the Scanner loading times?

    I don't understand how you went from Redacted, 5 secs to map on mobile data to Prime, >40 secs to "message" on WiFi.

    Tips: remove all splash screens, keep loading under messages, load the basics to play first, aka, map. No comm, no store, no stats, no scores.

    Redacted had some bugs, restarting took nothing. Prime shows a bug... We load any other game, finish the boss and start over before Prime loads once.

    And if Prime fails loading, let's add to the timer the force stop, clear data, try to load, fail again, uninstall, fail yet again, throw phone out the window.

    Seriously. I redeem codes on IITC just because it loads faster than the real thing. Ten seconds should be there worst case scenario with a bad connection.

  • This is a key point: Rendering has been sped up. The Intel map's data is still running at the same speed, but the display is no longer slowing down showing that information once it arrives. There will always be a data delay on any networked system

  • @ofer2 I do have one question about the loading. Has the Intel UI implemented retries on loading data when it receives a 502 error?

    This is one of the things that contributes to confusion about data missing on the map. Based on the previous implementation, when the Intel map loads data, it only tries once. If the data comes back as a 500 or 502 error, it simply doesn't display anything. I know for a fact that the 502 errors are recoverable, because IITC will keep retrying them and we haven't seen any dead cells since that period at the start of the year, and a recent episode that required server cache flushes.

    Mostly I'm now seeing 502 errors, maybe 30 in 1000 getEntities calls, but IITC happily retries the tiles and they succed. The old Intel UI did not retry them.

    Does the new UI retry data errors?

  • NearhNearh ✭✭✭

    Great work on the Intel Map, that's quite a difference! Thanks a lot Niantic for the effort 💙 hoping to see many more improvements coming ☺

  • GrogyanGrogyan ✭✭✭✭✭

    I have come across the problem on the New Intel map, that didn't occur with the old, or maybe was less prevalent.


    Marking links

    When Marking 1st portal,

    Then pan across the map to the second portal

    If you accidentally click on the wrong portal, click off the wrong portal, the map becomes unresponsive, even if the correct portal to mark is right next to it.


    You have to click on the "x" bottom of the portal window

  • ofer2ofer2 ✭✭✭✭✭

    First of all, using bots is against Niantic TOS. Please stop doing this. As far as the issues in the video, Intel map currently doesnt do this, but will soon automatically retry 5XX errors. The main cause of this error is that you've hit a new server thats being spun up or restarted (we dynamically adjust the number of servers depending on demand). As far as the others, I havent heard of them before, I'd have to look into it.

Sign In or Register to comment.