off-topic: Windows GDI resource problem


Subject: off-topic: Windows GDI resource problem
From: Justin Bradford (justin@ukans.edu)
Date: Sat Jan 29 2000 - 22:25:08 CST


This is not related to AbiWord, but due to the number of Win32 programmers
here, I thought someone might be able to help me out.

I'm working on this program which has a scalable canvas. I use the
SetWindowExt/SetViewportExt functions to arbitrarily scale this DC I'm
drawing on. I've noticed, however, that when I draw text on it, and then
resize the window (thus scaling the DC) it eats GDI resources at a
remarkable rate. If the "show when moving/resizing" option is on, a slow
resize can take 80% of the resources. I see a similar effect, albeit much
less significant, with pens, too.

When the app closes, most (possibly all) of the resources are freed.
I suspect it has something to do with allocating tons of physical fonts
(or pens) for each of the resizings, which are not being freed. I don't
delete the logical font between steps, although I've tried that, and it
didn't seem to help. Anyone have any ideas on what's going on and how I
might avoid this? StretchBlt (and its friends) leave me with a pixelated
image, so that won't work (unless there's a trick I'm missing).

I apologize for the off-topicness, but I'm not really a Win32 programmer
and I'm totally stumped here. It seems to me to be a Windows leak, but I
don't have the experience to know what to do about it.

Thanks,

Justin



This archive was generated by hypermail 2b25 : Sat Jan 29 2000 - 22:25:11 CST