(Somewhat) related to #26, the following components should be considered for caching and using SDL_RenderCopy from a cached texture rather then rendering text / rects each time:
Overall (2) is really the low-hanging fruit, it's a relatively expensive operation to (re-render) the table on each cycle (especially if there are alot of pin meta details)..
(3) would be more difficult because lat/lon do need to update so it's probably cheaper to just keep it as is. And (1) may be simple enough to cache but probably not a ton a performance gain.