Hi,
i'm experiencing a very weird problem here.
I've got a ListView, 4 columns and about 300 items. Nothing to worry about
there.
Now when I scroll up and down repeatedly using the vertical scrollbar, I see
the number of GDI object grow rapidly. Now and then it drops again to about
60 which is reasonable.When this number reaches 10.000, all of a sudden, it
turns into 4.294.964.397 (more or less).
Running the garbage collector manually does not help anymore then.
I also noticed that when I run the garbage collector (manually) *before* the
number reaches 10.000 this problem does not occur.
What is going wrong here ? I'm not doing any custom drawing, I don't even
use another backcolor, font or whatever. Why does it allocate so many GDI
objects. If I wrote something like a ListView, I would cache some or all of
the pens and brushes, as in most cases all the rows have similar properties
(color, font, ...).
I must be missing something. Anybody a clue ?
Thanks in advance.
Greetings,
Bram. 10 3448
> i'm experiencing a very weird problem here. I've got a ListView, 4 columns and about 300 items. Nothing to worry
about there.
Which tool are you using to determine the number of GDI objects?
--
cody
Freeware Tools, Games and Humour http://www.deutronium.de.vu || http://www.deutronium.tk
Hi,
I'm using the task manager. Is it that inaccurate ?
Regards,
Bram.
"codymanix" <no****************@gmx.net> wrote in message
news:uQ**************@TK2MSFTNGP11.phx.gbl... i'm experiencing a very weird problem here. I've got a ListView, 4 columns and about 300 items. Nothing to worry about there.
Which tool are you using to determine the number of GDI objects?
-- cody
Freeware Tools, Games and Humour http://www.deutronium.de.vu || http://www.deutronium.tk
Hi,
There's a GDI Objects column for every process in task manager, I suppose
they are what they are.
Never seen anything wrong when there was nothing wrong.
Over years I have found these numbers very accurate. Why shouldn't they not
be.
I suppose there might be a small bug in Task Manager, or in some kernel
function causing the number to go insane when it passes 10.000. Which
doesn't mean there is actually going something wrong in the GDI system.
But this doesn't explain why my listview is rapidly allocating so many gdi
objects while scrolling.
Cheears,
Bram
"codymanix" <no****************@gmx.net> wrote in message
news:%2***************@TK2MSFTNGP12.phx.gbl... I'm using the task manager. Is it that inaccurate ?
No I was just curious. But how can you be sure they are GDI objects?
-- cody
Freeware Tools, Games and Humour http://www.deutronium.de.vu || http://www.deutronium.tk
Hello,
I experienced the same problem but on a VB6 application, I guess that
internally no real sharing of resources is made, the thing is that the
applications crashes when reaches 10.000 GDI objects... That's why I like
most Visual C++...
Best regards,
Relu.
"Bram" <bv*****@nospam.skynet.be> wrote in message
news:40**********************@news.skynet.be... Hi,
i'm experiencing a very weird problem here. I've got a ListView, 4 columns and about 300 items. Nothing to worry
about there. Now when I scroll up and down repeatedly using the vertical scrollbar, I
see the number of GDI object grow rapidly. Now and then it drops again to
about 60 which is reasonable.When this number reaches 10.000, all of a sudden,
it turns into 4.294.964.397 (more or less). Running the garbage collector manually does not help anymore then. I also noticed that when I run the garbage collector (manually) *before*
the number reaches 10.000 this problem does not occur. What is going wrong here ? I'm not doing any custom drawing, I don't even use another backcolor, font or whatever. Why does it allocate so many GDI objects. If I wrote something like a ListView, I would cache some or all
of the pens and brushes, as in most cases all the rows have similar
properties (color, font, ...).
I must be missing something. Anybody a clue ? Thanks in advance. Greetings, Bram.
Hi,
There's a GDI Objects column for every process in task manager, I suppose
they are what they are.
Never seen anything wrong when there was nothing wrong.
Over years I have found these numbers very accurate. Why shouldn't they not
be.
I suppose there might be a small bug in Task Manager, or in some kernel
function causing the number to go insane when it passes 10.000. Which
doesn't mean there is actually going something wrong in the GDI system.
But this doesn't explain why my listview is rapidly allocating so many gdi
objects while scrolling.
Cheears,
Bram
"codymanix" <no****************@gmx.net> wrote in message
news:%2***************@TK2MSFTNGP12.phx.gbl... I'm using the task manager. Is it that inaccurate ?
No I was just curious. But how can you be sure they are GDI objects?
-- cody
Freeware Tools, Games and Humour http://www.deutronium.de.vu || http://www.deutronium.tk
Hello,
I experienced the same problem but on a VB6 application, I guess that
internally no real sharing of resources is made, the thing is that the
applications crashes when reaches 10.000 GDI objects... That's why I like
most Visual C++...
Best regards,
Relu.
"Bram" <bv*****@nospam.skynet.be> wrote in message
news:40**********************@news.skynet.be... Hi,
i'm experiencing a very weird problem here. I've got a ListView, 4 columns and about 300 items. Nothing to worry
about there. Now when I scroll up and down repeatedly using the vertical scrollbar, I
see the number of GDI object grow rapidly. Now and then it drops again to
about 60 which is reasonable.When this number reaches 10.000, all of a sudden,
it turns into 4.294.964.397 (more or less). Running the garbage collector manually does not help anymore then. I also noticed that when I run the garbage collector (manually) *before*
the number reaches 10.000 this problem does not occur. What is going wrong here ? I'm not doing any custom drawing, I don't even use another backcolor, font or whatever. Why does it allocate so many GDI objects. If I wrote something like a ListView, I would cache some or all
of the pens and brushes, as in most cases all the rows have similar
properties (color, font, ...).
I must be missing something. Anybody a clue ? Thanks in advance. Greetings, Bram.
There's a known bug in the performance counter object for GDI handles (which
is used by taskman), once the max value (10000)is exceeded it returns a
bogus number.
Willy.
"Bram" <bv*****@nospam.skynet.be> wrote in message
news:40**********************@news.skynet.be... Hi,
There's a GDI Objects column for every process in task manager, I suppose they are what they are. Never seen anything wrong when there was nothing wrong. Over years I have found these numbers very accurate. Why shouldn't they not be. I suppose there might be a small bug in Task Manager, or in some kernel function causing the number to go insane when it passes 10.000. Which doesn't mean there is actually going something wrong in the GDI system.
But this doesn't explain why my listview is rapidly allocating so many gdi objects while scrolling.
Cheears,
Bram "codymanix" <no****************@gmx.net> wrote in message news:%2***************@TK2MSFTNGP12.phx.gbl... > I'm using the task manager. Is it that inaccurate ?
No I was just curious. But how can you be sure they are GDI objects?
-- cody
Freeware Tools, Games and Humour http://www.deutronium.de.vu || http://www.deutronium.tk
There's a known bug in the performance counter object for GDI handles (which
is used by taskman), once the max value (10000)is exceeded it returns a
bogus number.
Willy.
"Bram" <bv*****@nospam.skynet.be> wrote in message
news:40**********************@news.skynet.be... Hi,
There's a GDI Objects column for every process in task manager, I suppose they are what they are. Never seen anything wrong when there was nothing wrong. Over years I have found these numbers very accurate. Why shouldn't they not be. I suppose there might be a small bug in Task Manager, or in some kernel function causing the number to go insane when it passes 10.000. Which doesn't mean there is actually going something wrong in the GDI system.
But this doesn't explain why my listview is rapidly allocating so many gdi objects while scrolling.
Cheears,
Bram "codymanix" <no****************@gmx.net> wrote in message news:%2***************@TK2MSFTNGP12.phx.gbl... > I'm using the task manager. Is it that inaccurate ?
No I was just curious. But how can you be sure they are GDI objects?
-- cody
Freeware Tools, Games and Humour http://www.deutronium.de.vu || http://www.deutronium.tk
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Mickel Grönroos |
last post by:
Hi everybody,
This is a question about Tkinter.Canvases and performance:
I am writing a Tkinter application that among other things contains a
number of Tkinter.Canvases that in turn hold...
|
by: AlexS |
last post by:
Hi,
I wonder if anybody can comment if what I see is normal in FW 1.1 and how to
avoid this.
I have .Net assembly, which creates literally thousands of temporary strings
and other objects...
|
by: Simon |
last post by:
Hi all,
I'm hoping that someone could help with the following general question:
I'm making a website that manages beta releases of software. It does various
things like store bugs, comments,...
|
by: Matthias Kaeppler |
last post by:
Hi,
in my program, I have to sort containers of objects which can be 2000
items big in some cases. Since STL containers are based around copying
and since I need to sort these containers quite...
|
by: Chris |
last post by:
Hi,
I am building a single webform/webpage asp.net application using VB.NET.
I have created lots of classes for this web application.
On page load I use a facade controller pattern class to...
|
by: vvenk |
last post by:
Hello:
I just wrote my first ASP.Net application. It worked fine on my machine and
when I put into production, the ASP.Net process reaches 50% quite fast and
then the system does not work...
|
by: wlevine |
last post by:
Can someone give me an example of how to construct an array of objects?
for example, I have:
function objFacility(id,name,adr,city,state,zip)
{
this.id = id
this.name=name
this.adr=adr...
|
by: rpsetzer |
last post by:
I have to create a big web application and I was thinking of using a
data layer. For each entity in the database, I'll define a class that
maps the table structure, having sub-objects for each...
|
by: Tigger |
last post by:
I have a method that is passed two objects and it needs to return an object
that represents those two objects multiplied together.
public object Multiply(object a, object b)
{
return a * b;
}...
|
by: BillE |
last post by:
I'm trying to decide if it is better to use typed datasets or business
objects, so I would appreciate any thoughts from someone with more
experience.
When I use a business object to populate a...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
| |