Community & Support
Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / WinForms > Forms, Dialogs, TitleBar, StatusStrip > Arggg.....flickering

Not answered Arggg.....flickering

Feed from this thread
  • E avatar

    Posted on Jul 28, 2008 (permalink)

    I am using the Q2 build but still see the flickering on title bar.  I think you guys made great strides towards addressing it but it's not quite addressed yet.  Do you have any plan to permanently address this issue at some point?

    Reply

  • Posted on Jul 29, 2008 (permalink)

    Also suffering from this issue - this is a real show stopper. You don't want
    to show your customer a form that loads painfully slow on while it's parent
    Form flickers like crazy.

    Noticed this the most so far when a modal RadForm opens a modal
    RadForm as Child dialog. (Theme Name Office 2007 Blue).

    Reply

  • Q1 Webinar Week
  • Angel Angel admin's avatar

    Posted on Jul 29, 2008 (permalink)

    Hi Larson and Erwin,

    Removing the flickering in the non-client area of RadForm is rather tricky. We are still trying different solutions but each has its drawbacks.

    This task is time consuming and as we have tasks with much higher priority, the flickering is postponed for the time being.

    We are sorry for the inconvenience and will try to catch up for one of the next releases.

    Thank you Erwin for the information, we will add this case in our flickering tests.

    Regards,
    Angel
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

    Reply

  • Posted on Jul 29, 2008 (permalink)

    sad to hear, because it makes the rad form useless. Print a huge red warning
    in the docs, that should the user have only an average graphics subsystem, the
    rad form is not usable, or at least makes your app look very amateurish.

    Even on my fairly decent notebook (HP8510w with Nvidia Quadro) it takes
    about a second of wild flickering on the parent(!) to just open a
    very simple child RadForm on top of an exisiting RadForm.

    I think there is a general problem with the concept of just having
    inefficient drawing/refreshing and let the double buffering clean up for you.

    I run into several problems with this approach when I have to use controls
    such as the windows forms splitter container that do not support
    double buffering.

    Please test your controls with average graphics cards or integrated chipset
    graphics - you will be surprised.



    Reply

  • E avatar

    Posted on Jul 29, 2008 (permalink)

    My app has a very simple layout (RadForm + RadToolStrip + RadDock) and yet it takes a good 3-4 seconds just to load the form on my new DELL dual core PC.  Using a performance profiling tool, I also confirmed that 90% of the loading time is spent on loading the Rad controls.  Furthermore, as soon as I stripped out the Rad controls, my form loaded in subsecond.

    As it stands, I have no choice but to strip out the Rad controls permanently since I can't just wait indefinitely for another build to fix this issue.

    Reply

  • Posted on Jul 29, 2008 (permalink)

    E!
    To be fair, you have to expect some overhead while the assemblies load the
    first time.

    IMHO the user is willing to wait a little bit at initial startup if he gets the
    functionality of a docking manager in your application.

    What is intolerable though is the excess repainting/refreshing once the app
    is loaded. It happens everywhere, you don't notice it if double buffering
    cleans up the interface (I verified unneeded repainting / refreshing by coding
    debugging messages into the event handlers of forms).

    I can't understand, why a parent form should have to redraw anything when a
    child is loaded. Or why a tabbed document that is invisible (covered by
    others) should have to run through the repainting code on every change in the
    collection of docked documents.

    But then I'm probably an oldfashioned c programmer from the old days of
    BitBlt...





    Reply

  • Vassil Petev Vassil Petev admin's avatar

    Posted on Jul 30, 2008 (permalink)

    Erwin, you have very valid points in your last post. For one, it will indeed take some time to get everything loaded up and shown on the screen.

    E!, we would like to research why the slow loading occurs on your end - we did not see any tickets on the matter in your account. Could you give us more details, such as What/how many RadControls do you have on the form and in the Dock?
    I did a quick test with RadForm vs standard form with about twenty controls and the in loading is much less than a second. Probably the loading of the controls inside the form takes some time, but we would like to research that.

    I have researched the flickering further and am sending a workaround which will take care of some of the flickering, including the showing of a child RadForm. Insert the following code in the form's constructor before the call to InitializeComponent():

      Type[] types = Assembly.GetAssembly(typeof(RadElement)).GetTypes();  
      for (int i = 0; i < types.Length; i++)  
      {  
          if (types[i].Name == "ContextLayoutManager")  
          {  
              PropertyInfo prop = types[i].GetProperty("LayoutManager",  
              BindingFlags.Static | BindingFlags.Public);  
              MethodInfo mi = prop.GetGetMethod();  
              object clm = mi.Invoke(null, new object[] { });  
              PropertyInfo le = types[i].GetProperty("LayoutEvents",  
              BindingFlags.NonPublic | BindingFlags.Instance);  
              mi = le.GetGetMethod(true);  
              List<EventHandler> eventHandlers = (List<EventHandler>)mi.Invoke(clm, new object[]{ });  
              eventHandlers.Clear();  
              break;  
          }  

    This should be done for all RadForms. With this code, RadForm will take less time to repaint, which means that you will see better loading times. This workaround will not be needed in the next release, as this will be fixed.

    There are couple of other reasons for the flickering:
    • Low level issues - we are investigating why some messages and certain APIs are called multiple times between the top-level windows;
    • Other flickering can be avoided only with double buffering and invalidate/clipping logic (which is not available in the non-client area). It will take time to write the code to do these things.
    Again, we are sorry for the inconvenience. RadForm was introduced just a couple of months ago and it has some issues, which are fixing on the go.

    As a final resort, you can try the ShapedForm and see whether it would help. There are instructions on its usage in the documentation.

    I will be happy to hear your feedback on the above workaround.

     
    Kind regards,
    Vassil
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

    Reply

  • Greg avatar

    Posted on Aug 4, 2008 (permalink)

    Guys,

    we have this issue was well and it certainly is aggravating.

    we have really reduced the pain by removing ALL CODE from the Form_Load Event.

    Putting any setup code in the Designer Initialize Event instead of Form Load  has made our forms load sub-second.

    weird, but true.


    Hope this helps until Telerik can get a lasting solution


    Greg Jackson
    Portland, OR

    Reply

  • Posted on Aug 5, 2008 (permalink)


    Not prepared to do that, would have a too big impact on my logic.

    Maybe calling SuspendLayout/ResumeLayout would help also?

    For now I've changed everything back to standard forms (which was quite
    painful, since the designer inserts stuff incompatible with standard forms
    when you change inheritance form Form to RadForm.

    Reply

  • Angel Angel admin's avatar

    Posted on Aug 5, 2008 (permalink)

    Hello guys.

    Greg, thank you for the feedback.

    We cannot confirm that moving the initializing code from Form_Load to the constructor (or to InitializeComponents()) would make RadForm load faster in every case. The faster loading you see is probably caused by some specific part of the initializing code. Is it possible to open a support ticket and give me your project to review it?

    Erwin, we are sorry to hear that you reverted back to the MS Form. We will appreciate it very much if you share your experience as far as loading times go. Did the change back to the MS Form speed up the project loading (with more than a second for example)?

    I would also like to see whether you had the chance to check whether the workaround Vassil sent in his reply solved the loading problems in the parent-child case (when RadForm shows child RadForms). This would give me an idea how to fix this issue in the best possible way. As with Greg, I would like to see your project in order to find the reasons for the slow performance.

    Thank you, guys. Your assistance will be much appreciated.

     
    Kind regards,
    Angel
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

    Reply

  • Greg avatar

    Posted on Aug 5, 2008 (permalink)

    Angel,
    Sure I can do that.

    what process do I follow to submit the ticket and our code ?

    DO you want our Entire Solution (sln), just the UI Layer, or just the form(s) in question ?

    this is a fairly complex application.

    We've moved all setup logic from Load to Initialize in all of our forms and the behavior is consistent.

    No more flickering or delays.....

    Examples:
    Populating\binding combo boxes
    Localizing Labels by reading resource files
    applying Themes
    etc etc etc

    you can email me directly at gjackson
    domain = theAxiomGroup.com

    Greg Jackson
    Principal Engineer
    the Axiom Group
    Portland Or

    Reply

  • Vassil Petev Vassil Petev admin's avatar

    Posted on Aug 5, 2008 (permalink)

    Hello Greg,

    In order to attach files you will need to open a support ticket and attach the files there. The formal support section is open to trial users who have downloaded the respective product(s) and to customers who have purchased our products. I have given you the ability to open support tickets for RadControls for WinForms and you can do so from your Client.net account --> My Support. In case your company owns our products already, please ask the purchase holder to add you as a License Developer to the purchase. More on License Developers you can find here: www.telerik.com/faq.

    As to the files that we will need - I guess that the form will be enough. You can review the INFORMATION ON USING THE TELERIK FORUMS for more details on the matter.

     
    Regards,
    Vassil
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

    Reply

  • Posted on Aug 5, 2008 (permalink)

    Angel and Vassil,

    Thanks for your support efforts.

    I have uploaded a demo project (opened support ticket 154316) with the supposed work-around built-in.
    Unfortunately, RadForm still shows a lot of excess flicker in the non-client area.

    Regards
    Erwin

    Reply

  • Angel Angel admin's avatar

    Posted on Aug 8, 2008 (permalink)

    Hi guys,

    We are still investigating this issue in order to catch the flickering reason and address it. What we have found so far is that the usage of RadDock within RadForm is one reason for the flicker - it seems that when docking DockPanels the RadForm and the DockManager start to update each other in an almost recursive manner. This issue has been logged and will be fixed in the next major release, when we expect to release the next major of RadDock.

    Thanks to Erwin, his application and his eagerness to help us locate this issue, we have some additional questions we would like to ask you:
    1. On what machines (CPU, RAM, OS) do you experience the flickering? The machine power itself should not be an issue, because we are testing on a very standard Pentium 4 machine with 1.5GB RAM and 2.66MHz CPU (Win XP SP3) and we do not see so drastic issues, as the ones described here (we were testing with Erwin's app). We want to check whether a particular hardware and/or driver is causing the refresh issue.
    2. Have you changed the machine's font and DPI settings, the Windows themes, or the visual appearance of your system? Are you using any of the themes in the Windows Plus! package, or may be a custom Windows theme?
    3. What software is running during the flickering (clear type, antivirus, something that may cause such visual glitches)? Will it be possible to close the running applications one by one and to check whether the flickering will stop or decrease?
    We are sorry for the time it takes to solve this, but we are looking for something that would help us pinpoint the problem.

    Erwin, I have updated your Telerik Points for your help.

     
    Kind regards,
    Angel
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

    Reply

  • Gerard Brandon avatar

    Posted on Aug 8, 2008 (permalink)

    The workaround has partly fixed my problem for the parent but not for the child forms.

    When I try to find a solution for the childforms with the ShapedForm I get errors saying that the file does not have a definition for 'RootElement'

    This works fine (with a flicker) if I leave it as a RadForm or works fine as an old 'Form'

    Any suggestion on what directive I am missing using ShapedForm?

    Gerry

    Reply

  • Angel Angel admin's avatar

    Posted on Aug 11, 2008 (permalink)

    Hello Gerard,

    If you are trying to switch from RadForm to ShapedForm just remove the serialized RootElement.
    ShapedForm inherits MS Form and does not have RootElement (unlike the other controls, ShapedForm does not have element hierarchy).

    Greetings,
    Angel
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

    Reply

  • Gerard Brandon avatar

    Posted on Aug 12, 2008 (permalink)

    Angel

    We cancelled out the RootElement as you suggested for the ShapedForm as for these two lines

     this.RootElement.MaxSize = new System.Drawing.Size(270, 200);
     this.RootElement.MinSize = new System.Drawing.Size(270, 200);

    but unfortunately the childforms do not open so they obviously do have some effect and we are trying to figure this out.

    When we do this we also get 2 warnings of "Object does not match target types" and these refer to the lines

    this.SuspendLayout();
     this.ResumeLayout(false);

    Sadly the flicker may not have a priority for you at this time, but it has caused some serious problems for us and we may have to roll back the entire system to remove the radForm and buy in alternative libraries for the skins.

    Your help would be much apprecaited.

    Reply

  • Angel Angel admin's avatar

    Posted on Aug 13, 2008 (permalink)

    Hello Gerard,

    As of yesterday, we have started working on the flickering of RadForm and will do everything possible to have this issue addressed asap. We do not have too much time till the upcoming Service Pack , but we will do our best.

    It will be much easier and faster if you send me your project, or a part of, which demonstrates the problems you are having. It will help me test and ensure that our solution will work in all cases.

    The showing of the ShapedForm and RadForm depends on whether the parent is a MDIParent or whether the child is shown as a modal form. I would like to check your app and see whether I am not missing anything else.
     

    All the best,
    Angel
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

    Reply

  • Gerard Brandon avatar

    Posted on Aug 13, 2008 (permalink)

    Angel

    the entire application can be downloaded and installed (by anyone) at http://www.eplixo.com/Eplixo2/Communicate/IMDownload.aspx

    This is a fully integrated IM, videochat and social network suite in one. The application contains 26 Radform design files.

    However I can upload in a support ticket at least one file but it would be rather a tough task to provide a small file without providing all of the integrated libraries.

    I can tell you that the lower the graphic card quality the worse the flicker gets.

    Gerry

    Reply

  • Angel Angel admin's avatar

    Posted on Aug 28, 2008 (permalink)

    Hello guys,

    This is a quick follow-up related to your issue with RadForm.

    We have just released a Service Pack which includes some fixes to RadForm’s flickering problem. Although not completely gone, the flickering has been reduced, so we will ask you to download the Service Pack, install it and give it a spin.

    Note that with SP1 the workaround to use reflection to get the ContextLayoutManager and clear its event handlers is not necessary anymore (see Vassil's response from 07/30/2008). You can review what we have fixed in the Release Notes.

    Your feedback will be appreciated.

     

    Greetings,

    Angel
    the Telerik team


    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

    Reply

  • Posted on Nov 11, 2008 (permalink)

    Can no longer reproduce the Flickering issue with 2008 Q3...

    Thanks
    Erwin

    Reply

  • Nick Nick admin's avatar

    Posted on Nov 12, 2008 (permalink)

    We are happy to hear that, erwin. Thank you for the positive feedback.
     

    Regards,
    Nick
    the Telerik team

    Check out Telerik Trainer, the state of the art learning tool for Telerik products.

    Reply

  • sayyed mahdi khadishi avatar

    Posted on Sep 4, 2009 (permalink)

    hi
    i am using the 2009.2.9.701 build but when i have a great form_load , bordr form have flicker.

    Reply

  • Nick Nick admin's avatar

    Posted on Sep 4, 2009 (permalink)

    Hi sayyed mahdi khadishi,

    Thank you for contacting us. Please open a new support ticket so that you can attach files and send us your application or even better a sample one. We will check for the reason and offer a solution.

    Best wishes,
    Nick
    the Telerik team

    Instantly find answers to your questions on the new Telerik Support Portal.
    Watch a video on how to optimize your support resource searches and check out more tips on the blogs.

    Reply

  • Q1 Webinar Week

Back to Top

Skip Navigation LinksHome / Community & Support / Developer Productivity Tools Forums / WinForms > Forms, Dialogs, TitleBar, StatusStrip > Arggg.....flickering
Related resources for "Arggg.....flickering"

[ Features | Demos | Documentation | Knowledge Base | Telerik TV | Code Library | Step-by-step Tutorial | Blogs | Self-Paced Trainer ]