Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. Control Draw delay on resize (Getting rid of it)

Control Draw delay on resize (Getting rid of it)

Scheduled Pinned Locked Moved C#
helpperformancewinformsgraphicsquestion
2 Posts 2 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    Muntyness
    wrote on last edited by
    #1

    I have a program which has a bunch of user controls. (Talking in the hundreds here) You can basically consider these controls as a bunch of buttons, with 2 images taken from the hard drive as Up and Pressed states. (The images are stored in memory when the control is first created, so there isn't any delay getting them from the hard drive.) My problem is that when the program is minimized and then maximized, all the user controls redraw themselves. Is there any way to stop this? Now, bearing in mind that RAM is not an issue, (well as long as it doesn't use more than 300MB or so of it anyway :P ) so if the only way to fix this is to use lots of memory, I don't mind. Any suggestions? PS. I'm assuming that the Windows GUI is discarding the conrol graphics as soon as they're off screen to improve performance. If this is true, then a way to stop this would be appreciated. (Also making it all get painted at the same time on startup would be appreciated. A slight delay while loading up the program would not matter) Note: Using UserPaint, AllPaintingInWmPaint and DoubleBuffer doesnt help. - Munty

    S 1 Reply Last reply
    0
    • M Muntyness

      I have a program which has a bunch of user controls. (Talking in the hundreds here) You can basically consider these controls as a bunch of buttons, with 2 images taken from the hard drive as Up and Pressed states. (The images are stored in memory when the control is first created, so there isn't any delay getting them from the hard drive.) My problem is that when the program is minimized and then maximized, all the user controls redraw themselves. Is there any way to stop this? Now, bearing in mind that RAM is not an issue, (well as long as it doesn't use more than 300MB or so of it anyway :P ) so if the only way to fix this is to use lots of memory, I don't mind. Any suggestions? PS. I'm assuming that the Windows GUI is discarding the conrol graphics as soon as they're off screen to improve performance. If this is true, then a way to stop this would be appreciated. (Also making it all get painted at the same time on startup would be appreciated. A slight delay while loading up the program would not matter) Note: Using UserPaint, AllPaintingInWmPaint and DoubleBuffer doesnt help. - Munty

      S Offline
      S Offline
      Stanciu Vlad
      wrote on last edited by
      #2

      When you minimize the window and maximize it back the controls have to redraw themselves because there was no part of them visible before for windows to perform local invalidation and restore data from internal cache... If you want the maximum speed try caching the images into variables and render them to the form with unmanaged code (the BitBlt function[^] if I am not wrong). Hope it helps ....

      protected internal static readonly ... and I wish the list could continue ...

      1 Reply Last reply
      0
      Reply
      • Reply as topic
      Log in to reply
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes


      • Login

      • Don't have an account? Register

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • World
      • Users
      • Groups