SakeTami
sondehub
sondehub

patreon


Frustum Culling [testing help wanted]

In computer game development there is a fairly common optimisation called frustum culling.

In the example above, the players camera is on the right. When the player moves their camera around the game engine stops rendering all the objects outside of the view of the camera. Since the player can't see behind them, there's no point rendering all those extra bits of the game.

So what does this have to do with SondeHub? Well SondeHub tracker is a fork of the HabHub tracker. HabHub was all about tracking amateur balloons. At anyone time there might of been 10 or so balloons on the HabHub tracker. It was feasible for the website to handle rendering all those balloons. SondeHub on the other hand is handling ~200 radiosondes each peak.

We've been delivering and displaying all that data. Every radiosonde telemetry frame has been sent the browser and the browser has tried to plot each and everyone.

What's the impact of this:

So what is SondeHub changing?

First off, data ingestion, archiving, and our APIs haven't and won't be changing. If you are using any of our APIs they will continue to work like usual.

We are effectively trying to implement the same style of frustum culling that games do but for SondeHub. We don't want to download and render any of the data that isn't visible on the map.

What we have implemented is in the tracker webpage. When this feature is released the web interface is going to change a little. The first noticeable change is that high zoom levels ( like where you can see most of the world ) you'll notice a little warning on the map.

The data presented when at this zoom level is what we call the slow feed. It'll show the rough location of all the radiosondes in the air right now plus any new ones that are detected. Once you zoom in, the locations of the radiosondes visible on the map will begin to update.

You'll also notice that we no longer display the trails, and predictions by default. Don't worry, they are still there! Click on the radiosonde or selecting from the menu will display the path and predictions like normal.

Hiding the trails/predictions results in a lot less work for the web browser, making the page quicker to use. It is also required as the client might not have the data required due to the culling.

You can get an idea of how many radiosondes your browser is currently tracking by looking at the debugging information in the bottom right hand corner of the map.

With these changes we hope to reduce our hosting bill and improve the client side experience.

Why didn't we do this sooner?

It's actually a fairly difficult problem to solve and we wanted to make sure we solved it in a way that didn't impact usability of our users. We also need to make sure the changes don't just move costs from one part of the platform to the other.

We believe we've struck a good balance between optimisation and usability.

Help wanted!

Before we roll out these changes we want to make sure they work reliably and that our Patreons aren't impacted by any usability concerns. For that we ask that you help test. To do so use our testing site:

https://testing.v2.sondehub.org/

If you find any bugs that impact you please report them to GitHub Issues  or otherwise add a comment in this post.

Frustum Culling [testing help wanted] Frustum Culling [testing help wanted] Frustum Culling [testing help wanted]

Comments

Thanks. Seems the 12 hour load is much slower, maybe 10s vs 2s, for 12 hour on the test site vs production site.

Scott Palmer

12 hour load is always slow due the amount of data loaded for that. It shouldn't have changed between testing and non testing versions. I'll put in a GitHub issue for locating the map based on current user location.

SondeHub

Great idea. Working for me in Chrome on Android. Slow to load 12 hours data though? Is there any reason you default to UK on initial load? Can I have it load straight to a more local view? Thanks.

Scott Palmer

That worked. Thanks!

Tom Hanley

Launch site markers should still be available. You may need to disable the "Hide Launch Sites" option in your SondeHub tracker settings

SondeHub

Looked at this on my Android browser and seemed to be working well. I do miss the launch station markers though. I use those for looking at predictions for the next week.

Tom Hanley

Working well for me with a quick play this morning!

Kevin Walton


More Creators