Форум пользователей Visio

Форум по вопросам применения и программирования в Visio
Текущее время: 28 мар 2024, 18:07

Часовой пояс: UTC + 3 часа [ Летнее время ]


Правила форума


При размещении файлов предпочтительным является формат vsd (а не vsdx/vsdm)
Размещая ваши вложения на форуме не используйте имена файлов содержащих кириллицу, в противном случае файл будет иметь имя .<расширение файла> !

Для форматирования ваших сообщений используйте BBCodes, описание используемых на форуме BBCodes.



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Тест на скорость выделения фигур
СообщениеДобавлено: 05 апр 2018, 13:49 
Не в сети
Ветеран

Зарегистрирован: 30 июл 2014, 14:28
Сообщений: 534
Использую Visio c: 2008
Очков репутации: 107

Добавить очки репутацииУменьшить очки репутации
Вот, потестил разные способы выделения фигур. Всех. 5151 штука.
Код:
Option Explicit

'Результат (выделение на листе 5151 шейпа):

'1. Средний ноутбук:
'Test_1 - 0,3007813
'Test_2 - 1,414063
'Test_3 - 65,09766

'2. Довольно мощный копьютер
'Test_1 - 0,1210938
'Test_2 - 0,5742188
'Test_3 - 24,65625

Dim t
Dim sh As Visio.Shape

Sub Test_1() ' штатное выделение
t = Timer

ActiveWindow.DeselectAll

ActiveWindow.SelectAll

Debug.Print Timer - t
End Sub

Sub Test_2() ' создание выделения "в памяти"
Dim i As Integer, vsoSel As Visio.Selection
   
Set vsoSel = ActiveWindow.Selection

ActiveWindow.DeselectAll

t = Timer
For Each sh In ActivePage.Shapes
    vsoSel.Select sh, visSelect
Next
   
ActiveWindow.Selection = vsoSel

Debug.Print Timer - t
End Sub

Sub Test_3() ' выделение перебором

ActiveWindow.DeselectAll

t = Timer
For Each sh In ActivePage.Shapes
    ActiveWindow.Select sh, visSelect
Next

Debug.Print Timer - t
End Sub


Результат вполне очевиден.

Можно попробовать:


Вложения:
Test_SpeedSelect.zip [1.25 Mб]
Скачиваний: 53

_________________
GitHub
Yandex-диск с набором полезных утилит
Пожаловаться на это сообщение
Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB