ArduPilot / ArduPilot/MissionPlanner

'Switching between tabs' in Mission Planner is sluggish/slower

Open
#214 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
2.4k
Forks
2.9k
Avg merge
19h 16m
Merged PRs (30d)
4

Description

Hi,

When we switch from 'INITIAL SETUP tab' to ''CONFIG/TUNING' tab, the transition is sluggish than very earlier versions of MP. This is probably because of introduction of more parameters, tabs etc. The loading first shows scroll bars, etc and then the relevant data.

One suggestion is to append this code in 'MainV2.cs' under MissionPlanner project and test the performance. I got hold of this from one of my earlier projects in C#, where I used this to solve flickering issue. I tested this on Mission Planner and we get the data display 'when' all data is loaded. With this solution, we will need to wait for a few seconds until all data is loaded but at least looks smoother rather than sluggish loading of data while changing each and every tab. A waiting symbol between tab switches may be helpful.

Transition to 'CLI' tab would be faster, for obvious reasons. The code below to avoid flickering:

///

/// Ant-flickering work around. IT WORKS!
///

protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.ExStyle |= 0x02000000; // Turn on WS_EX_COMPOSITED
return cp;
}
}

Just add this part of code, build and test run it. I used VS 2012, .NET Framework 4.0.

Please let me know if you believe this solution to avoid flickering is helpful. There are other solutions too, but this was by far the most straightforward (flickering is actually annoying).

Regards,
Shyam Balasubramanian

Contributor guide

No contributing guide indexed for this repository

Research direction

Start in MainV2.cs under the MissionPlanner project and reproduce switching from the INITIAL SETUP tab to CONFIG/TUNING, then compare the transition with the proposed WS_EX_COMPOSITED workaround. Confirm whether the tabs still show intermediate scroll bars and incremental loading; done means the transition is observably smoother without breaking the CLI tab or normal data display.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
desktop, performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.