pupsik писал(а):и произойдёт чудо оптимизации... У меня ваш код сработал в пределах 0,4. zub - 0,05. Так что: угу... на порядок оптимизировали.
Нет, подставить можно любые значения. Если вы вставляете сканлайн в цикл, то тогда вычисляйте и получение координат из метафайла в цикле. Соответственно, мой код будет 0.4 на миллион итераций, а код zub тогда будет примерно 0.7 на миллион итераций. А иначе естественно, он там не выполняет изъятие данных о линии из метафайла, а Вы добавили сложнейший сканлайн в цикл, поэтом и разница столь большой у Вас получилась.
Вот эти данные пусть программисты получат из метафайла и посмотрим, сколько на это времени уйдёт на миллион изъятий:
- Код: Выделить всё
p1.x:=0;p1.y:=0;
p2.x:=9999;p2.y:=9999;
pupsik писал(а):Советуют применять во время сканирование Begin...EndUpdate.
Это ничего не изменит, т.к. я вообще могу этот сканлайн выкинуть, он дикими программистами придуман, чтобы тормозить быстродействующий код художников. И буду брать точку из даты, тогда код zub на два порядка будет медленнее работать. Так что даже не мечтайте. В этой части, программистам - художников не обогнать. Если мне потребуется, я ещё могу скорость поднять, а программисты как плелись черепахами, так черепахами плестись и будут со своей математикой .
Но опять-таки, это касается исключительно ситуации с задачей топик-стартера, т.к. при других обстоятельствах, код zub-а обгонит по быстродействию.
.