Что лучше по перфоРРРмансу

Omh

Lotus team
04.07.2007
2 210
1
#1
Камрады, моё почтение!

Ни у кого нет инфы, какой из вариантов будет более предпочтительным с точки зрения перфоРРРманса:
1. Computed subform типа @if(FIELD_NAME = "1"; "SUBFORM_NAME"; "")
2. НЕ-сomputed subform со сложенной секцией с Hide formula FIELD_NAME != "1"

Если секция на сабформе не collapsed по умолчанию, то первому варианту альтернативы нет (ну не считая там prograamatic table и т.д)
Если же она collapsed - то есть выбор.
Что выбрать?
 

Omh

Lotus team
04.07.2007
2 210
1
#3
Да, я заработался, уже кровь пальцами идёт :(

Я, конечно, имел в виду секцию на сабформе.
Т.е. сабформа состоящая из секции.

Пора в отпуск хотя бы на пару дней.

P.S. Поправил первое сообщение.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#4
Варианты не равнозначны.
Computed subform высчитывается только один раз. При изменении поля FIELD_NAME документ надо переоткрывать.

Первый вариант, на мой взгляд, производительней. Во втором случае вычисления событий и в полях всё равно будут производится, даже если они скрыты. Еще учитывая то, что hide formulas будут пересчитываться при любом обновлении.
У меня есть форма с кучей вычисляемых подформ. Ничего не тормозит.
 

Omh

Lotus team
04.07.2007
2 210
1
#5
Я, помнится, когда-то читал, что если юзается сабформа, то желательно инициировать события на подформе, например, конструкцией
Код:
Print ""
В это есть соль или нет?
 

hosm

* so what *
18.05.2009
2 442
6
#6
Omh для 8ки - нет. до 8ки имело смысл добавлять скрипт для ускорения открытия подформ
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 233
18
#8
лучше не использовать подформу :facepalm:
 

Omh

Lotus team
04.07.2007
2 210
1
#10
Ну, всё, что имеет в себе приставку "shared" - по идее, тормозит открытие.
Т.к. надо дёрнуть не только сам документ формы, но и обратьться где к Shared actions, где к сабформе.
Логично, что это забирает время.

Но есть ещё такой аспект, как удобство разработки/поддержки.
И всякие shared вещи его радикально повышают, естествеено при условии, что это shared-нечто используется как минимум в 2-х местах.

Приходится балансировать.
Я стараюсь всё, что используется более, чем в одном месте - выносить в общее.

Добавлено:
TIA
Сенк за ответ по существу, у меня такое же мнение сложилось.

до 8ки имело смысл добавлять скрипт для ускорения открытия подформ
Кто-нибудь может объяснить природу сего явления?
 

hosm

* so what *
18.05.2009
2 442
6
#11
Кто-нибудь может объяснить природу сего явления?
вот что мне поясняли по этому поводу:
это некая "фича" для ускорения подгрузки подформ
до версии 8.0.2 это работало
это из-за какого-то старого бага в лотусе
если много подформ то грузиться начинает форма очень медленно
вставляешь любой код в Initialize - становится нормально
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 233
18
#12
ToxaRat а где аргументы - почему? =)
потому как "теги подформы" это дополнительный код и дополнительный вес основной формы, ко всенму прочему 2й уровень подформ начинает существенно тормозить основную формы, особенно если в подформе 2го уровня есть вид - сейчас пришлось за правило взять ограничиться подформами 1го уровня