1000次创建圆的速度
- Sub test10000()
- Dim t0 As Double t0 = ThisDrawing.GetVariable("CDATE")
- Dim i As Integer
- For i = 1 To 10000
- testAcdbEntMakeCircle
- Next
- Dim t1 As Double
- t1 = ThisDrawing.GetVariable("CDATE")
- Dim str As String
- Debug.Print AcdbRToS((t1 - t0) * 1000000#, 2, 6, str)
- Debug.Print "EntMakeCircle: " & str
- t0 = ThisDrawing.GetVariable("CDATE")
- For i = 1 To 10000
- Dim c(0 To 2) As Double
- ThisDrawing.ModelSpace.AddCircle c, 3.5
- Next
- t1 = ThisDrawing.GetVariable("CDATE")
- Debug.Print AcdbRToS((t1 - t0) * 1000000#, 2, 6, str)
- Debug.Print "AddCircle: " & str
- End Sub
-
- ' 创建圆
- Sub testAcdbEntMakeCircle()
- Dim ct(0 To 2) As Integer
- Dim cv(0 To 2) As Variant
- ct(0) = 0
- cv(0) = "CIRCLE"
- Dim pt1(0 To 2) As Double
- ct(1) = 10 ' 圆心
- cv(1) = pt1
- ct(2) = 40 ' 半径
- cv(2) = 3.5
- AcdbEntMake ct, cv
- 'Debug.Print AcdbEntMake(ct, cv)
- End Sub
输出:
5100
EntMakeCircle: 1.102686
5100
AddCircle: 2.693385
5100
EntMakeCircle: 1.199543
5100
AddCircle: 4.481524
5100
EntMakeCircle: 1.333654
5100
AddCircle: 6.210059
可以看出acdbEntMake创建圆的速度比传统的创建圆快。 |