잠재적으로 많은 모양을 만들고 모양 데이터를 다양한 값으로 설정하는 코드가 있습니다. 일부 셰이프는 5 개의 셰이프 데이터 행과 약 20 개 (또는 다른 여러 값)를 가질 수 있습니다.모양과 모양 데이터가 많은 .net - 다이어그램 작성을 통한 Visio 자동화 성능 향상
이것은 VB.Net로 작성되었으며 성능을 향상시키고 싶습니다. 여기에 가이드 라인을 :
http://blogs.msdn.com/b/mailant/archive/2004/09/22/233082.aspx
내가 .DropMany 및 .SetFormulas 호출에서 찾고있다.
하나의 문제는 셰이프 데이터 행을 많이 추가하려는 것입니다. 하나의 히트에 여러 행을 수행하는 .AddShapes 호출이 있지만 모양 데이터 섹션에 해당하는 것이 없습니다. --AddNamedRow (I AddRows에 대한 호출을 시도했지만 모양 데이터 섹션과 함께 사용하면 오류가 발생합니다.
현재 알고리즘 : 성능 향상을위한
Work out which masters to use for which shapes (not all the same)
pg.DropMany(with array of masters and appriate X/Y coords)
for each shape dropped:
for each shape data row (e.g. 5 - 10 times per shape):
shp.AddNamedRow()
pg.SetFormulas(for all shapes on page and all properties)
다른 방법은?
모양을 삭제하기 전에 마스터에 추가하는 대신 방금 삭제 한 인스턴스에 명명 된 행을 추가하는 이유가 있습니까? – JohnGoldsmith
문제는 같은 마스터 **를 가진 셰이프에 여러 가지 사용자 지정 속성 집합이 포함될 수 있다는 것입니다. 나는 속성의 최소 집합을 찾아내는 것에 주위에 찌르 게 될 것이다. 그리고 아마 떨어 뜨리기 전에 마스터에 그것들을 설정한다. –
괜찮 았어, 네가 모든 행이있는 지점에 도달 할 수 있다면, 적절한 행/s의 가시성을 토글 할 수있을 것 같아. 인스턴스 모양에 행을 추가하는 또 다른 단점은 전체 섹션을 (마스터에서 상속하지 않고) 로컬로 만들 수 있다는 것입니다. – JohnGoldsmith