[v8i] Fence.GetContents enumeration slowdown vs v8XM

Hi all,

I'm hoping someone might be able to suggest a simple fix to an issue I'm experiencing.

My current task is generating a dataset for viewing at 1:25,000 scale from our base mapping which is created for main viewing at 1:250 - 1:1250 when printed.

This involves a fair bit of "clash detection" for placing text at the new size / locations and spatial analysis for grouping elements with matching attribution.

During this process I've been using (very successfully under v8 XM) a lot of fence.GetContents, with fences defined from elements created in VBA, but not added to the ActiveModel. This has been working brilliantly under v8 XM, but unfortunately v8 XM won't start unless there is an "active screen" it appears, i.e. a live user - not at the Logon Screen or connected via Remote Desktop (it otherwise crashes with a DirectX initialisation error - This "build" process must run nightly on a headless machine, which unfortunately we cannot leave "logged in" with screensaver disabled.).

v8i seems happy to start without such a live session, but when running the exact  same VBA code under v8i any sections which rely on fence scanning run at 1/4 - 1/5th the speed as v8 XM - timed by wrapping kernel32 to get a Millisecs counter in VBA.

Essentially I'm asking if there any additional settings introduced in v8i to control Fences and enumeration of their contents?

Or is slowness of fence enumeration a known issue?

 

Parents
  • Another bump to hopefully get someone to try this (ZIP file in my previous post).

    Jon,

    Once again - thanks for your suggestion for ModelReference.Scan with the OnlyIncludeWithinRange, unfortunately it appears that this is comparing the test Range against element Range, not test Range against  element Geometry.

    This leaves lots of areas where labels aren't placed due to range clashes, but would be placed if compared to geometry (i.e. an L shaped linestring or large diagonal line).

    Thanks,

    Alex

Reply
  • Another bump to hopefully get someone to try this (ZIP file in my previous post).

    Jon,

    Once again - thanks for your suggestion for ModelReference.Scan with the OnlyIncludeWithinRange, unfortunately it appears that this is comparing the test Range against element Range, not test Range against  element Geometry.

    This leaves lots of areas where labels aren't placed due to range clashes, but would be placed if compared to geometry (i.e. an L shaped linestring or large diagonal line).

    Thanks,

    Alex

Children