Anyone experienced this problem? :
It appeared after Windows 10 update to build 1709. After some system up time - a few hours -, bitmap loadings, imagelist item adding gets extremely slow. A 256x256 BMP loads in more than 10 seconds...while doing this, it occupies one CPU core 100%. So compiled applications that start up normally in seconds now start up in minutes!
I use hibernation/resume regularly. Display drivers are more than a year old, so that can't be the problem.
Any comment on this?
Update: I found that this happens with code that use Canvas.Pixels, so that can be changed, still it slowed down very much.
Update 2: Replacing with Scanline operations speeded up things. Recent Windows patch must have made Canvas.Pixels really slow on larger amount use.
TBitmap.Canvas.Pixels
property is inherently slow in general. For fast pixel access, use theTBitmap.ScanLine
property instead. See Reading and Setting Pixels. – SubatomicPixels
which is 99% the problem. There still might by also another problem related to synchronization of your App (as Craig Young suggests) but for that we would need to know the architecture of your App and its code. The usual problem is doing something in timer with duration bigger or close to the Timer Period property ... And also not processing messages for bigger portion of time could lead to problems ... In case you useOnIdle
it is a good idea to add someSleep
in it – Oconnor