Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » TopWindow&PopUp, TrayIcon » [FIX] resizing eats memory
Re: resizing eats memory [message #22728 is a reply to message #22698] Sun, 09 August 2009 17:28 Go to previous messageGo to previous message
mirek is currently offline  mirek
Messages: 13976
Registered: November 2005
Ultimate Member
What a nasty bug! (And quite critical one).

Well, it is not so bad, I believe it should have had stopped after eating 32MBs (can you check before syncing the fix?).

The cause was unfortunate interaction between MakeImage cache, its adaptive "max cache size" algorithm and Windows driven resizing of window; adaptive code required to be called in "job is done" situation, which was when in U++ message loop input queue is empty - it then increased maximum cache size to actual size needed in processing events.

However, when resizing, we are not in U++ loop, but windows performs its own, only calling WM_PAINT. Means adaptive algorithm had no chance to optimize and cache maxed out to upper limit - which, to make things worse, was slightly incorrectly set to 4 megapixels of Image data, which usually results in 32MB of total data.

All should fine now (on svn in one hour).

Mirek

[Updated on: Sun, 09 August 2009 17:31]

Report message to a moderator

 
Read Message icon14.gif
Read Message
Read Message icon14.gif
Previous Topic: Double-click a file and open the App
Next Topic: PromptOK & C, with topmost
Goto Forum:
  


Current Time: Fri May 10 16:35:36 CEST 2024

Total time taken to generate the page: 0.03265 seconds