Author Topic: Objective tests, show csrss.exe hogging the CPU when using dimensions  (Read 7217 times)

Lar

  • Hero Member
  • *****
  • Posts: 2620
Re: Objective tests, show csrss.exe hogging the CPU when using dimensions
« Reply #15 on: September 07, 2010, 06:33:49 AM »
..., but why is gravity snap MUCH faster than left click? If DT can figure that one out he might discover a problem that is slowing down other processes in the program.

My opinion:
Right clicking finds the nearest point. I assume there is a list of points (with the entity that each point belongs to) so dcad checks the coordinates of the cursor and filters out the nearest point from the list. If there are more than one point in that same location it just grabs the first one, which would belong to the first of those entities created (remember: if you add or delete points in an entity the entity goes to the bottom of the list, meaning a new entity was created and the original deleted - I confirmed this with my entity number checking macro. Undoing does not restore the entity to its former position in the entity list).

Left clicking finds entities. First you must understand that vector software doesn't list entities as we see them but just the points that make up an entity. The entity type decides what happens between those points (imagine 2 points of a line versus 2 points of a circle). To find a line, for example, dcad has to evaluate that the cursor is near where a line segment would be that connects 2 points that could be anywhere in the drawingÖ and not necessarily the 2 nearest points. Now imagine distinguishing a line segment from a circle from a dimension from a curve, etc, etc.

Every time I left click in a crowded drawing, especially with a bunch of grid entities crisscrossing each other, I am amazed at the speed and accuracy that entities are selected, even in v20. Many other software that Iíve used find entities by their bounding box and this is very frustrating.

Maybe the selection problem in v20 (when dimensions are involved) is because the new dimensions only have 5 actual points (the first point you donít see) but a dimension has 11 visual ends (including the traditional mid-top and mid-bottom of the text), so dcad has to do a lot more figuring to decide whether or not a dimension should be selected. The old dimensions had 11 actual points, one for every visual end, so less figuring was involved. Also, right clicking at a dimensionís non-point arrow actually snaps to that non-point. Maybe that has something to do with it.

Lar

Dr PR

  • Hero Member
  • *****
  • Posts: 5488
Re: Objective tests, show csrss.exe hogging the CPU when using dimensions
« Reply #16 on: September 07, 2010, 02:02:14 PM »
Lar,

Good explanation!
DesignCAD user since 1987

corlett

  • Full Member
  • ***
  • Posts: 102
Objective tests, show csrss.exe hogging the CPU gets a new Video card
« Reply #17 on: September 29, 2010, 05:51:58 AM »
Hi Again

Just thought you would want to know, I have upgraded my machine and the problem remains.
This post is not intended to produce a thread, only as a post script to those kind enough to contribute earlier.

I have installed a new Video card in my PC.  It Was an AMD Athlon 2500+CPU 1.83 Ghz 1.0GB Ram Running XP Service Pack 3 GeForce FX 5500
It now has a new video card, Namely; ATI Radeon X1650 Pro, 256Meg DDR3, AGPx8.  {which zips 3D along nicely :-) }

I have re run my standard test. "Clean sheet, an array of 120 x standard linear auto dimensions. While monitoring the CPU percentage I select the dimensions one after the other".  It was the case that 3 click would produce a flat top in the CPU graph.  Now it takes 4 clicks, not much improvement.

Because it is a different manufacture it uses different drivers.  I was sure it has nothing to do with the video card but I think this nails it.

Clive