|
|
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
Объект DataWindow, На rowfocuschanged event стоит Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. на mousemove event стоит Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Уже при незначительном перемещении стрелкой вниз (при смене строк) начинает терятся быстродействие и увеличивается нагрузка на ЦП. Если поставить наоборот (как и планировалось Modify на mousemove, а selectrow на rowfocuschanged), то поводив мышкой по строкам тратися много времени на selectrow() при нажатии кнопки мыши. Вопросы: Почему? Как поправить? Есть ли альтернативы? Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 17:07 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
Написать в конструкторе (или выставить свойства в дизайнере) ОДИН РАЗ: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 17:26 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
HapkОбъект DataWindow, На rowfocuschanged event стоит Код: plaintext 1. на mousemove event стоит Код: plaintext 1. HapkВопросы: Почему? Как поправить? Есть ли альтернативы? Заранее спасибо.Альтернативы есть всегда. Что сделать-то надо? ИвановНННаписать в конструкторе (или выставить свойства в дизайнере) ОДИН РАЗ ...Выражение чуть сложнее Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 17:53 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
А что, напрямую в свойствах объекто не задать условия? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 18:01 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
PL99Выражение чуть сложнее Код: plaintext Это смотря что сделать надо: если в mousemove стоит SelectRow, то менять свойство background у столбца у выделенной строки особого смысла нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 18:07 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
недописал... Enter нажал а если убрать SelectRow, а оставить SetRow, то тогда стоит написать сложнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 18:09 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
HapkОбъект DataWindow... Какая верисия PB ??? Такое поведение (использование expresions связанных с цветом !!!???) было замечено (предположительно происходило накопление буфера, что тормозило переход на др.строку и retrieve()) на версиях где-то до 10.2 или 10.0.1 билды не помню, о чем было сообщено в Sybase. Они вроде исправили. Пробуйте более поздние билды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2007, 19:05 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
PL99, urvas, можно и в свойствах написать, но один из вопросов стоит "Почему?", так как такого не должно было быть и изначально необходимо было сделать выделение цветом а не selectrow при mousemove. Важно было знать почему он начинает тормозить. _Guest_1, спасибо за ответ, я тоже такого мнения (такое же поведение в С++ если не уничтожать GDI объекты). Версия билдера 5.0, попробую достать какую нибудь посвежее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2007, 11:13 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
Hapk 1.Событие rowfocuschanged обрабатывается при смене строки несколько раз, поэтому Ваш скрипт должен быть с флагом, который бы запускал нужный процесс только один раз. Тогда быстродействие будет значительно выше. 2.Modify очень тяжелая функция, поэтому её лучше вызывать один раз, т.е. объединить все изменения в одну Modify. 3.SelectRow лучше сделать в свойствах строки, чтобы не терять время на обработку любого написанного скрипта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.07.2007, 11:55 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
HapkPL99, urvas, можно и в свойствах написать, но один из вопросов стоит "Почему?", так как такого не должно было быть и изначально необходимо было сделать выделение цветом а не selectrow при mousemove. Важно было знать почему он начинает тормозить. Тормозит потому, что в событии mousemove написан явно неподходящий для этого события скрипт. Если надо сделать выделение цветом текущей записи, то следует в свойствах поля написать приведенный ранее код, а не отлавливать mousemove, а код из событий убрать совсем. Если же Вы хотите чтобы цвет строки изменялся в зависимости от положения курсора мыши, то возникает резонный вопрос - а зачем? AIS1.Событие rowfocuschanged обрабатывается при смене строки несколько разНе совсем понимаю, что Вы имеете ввиду? При изменении текущей строки событие rowfocuschanged срабатывает ровно один раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2007, 19:47 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
PL99 AIS1.Событие rowfocuschanged обрабатывается при смене строки несколько разНе совсем понимаю, что Вы имеете ввиду? При изменении текущей строки событие rowfocuschanged срабатывает ровно один раз. Думаю, что все-таки дважды: 1-й раз - когда старая строка теряет фокус, 2-й - когда фокус получает новая строка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2007, 22:09 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
AIS Думаю, что все-таки дважды: 1-й раз - когда старая строка теряет фокус, 2-й - когда фокус получает новая строка. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 09:59 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
AIS Думаю, что все-таки дважды: 1-й раз - когда старая строка теряет фокус, 2-й - когда фокус получает новая строка. Думаю, что Вы путаете с двумя разными событиями: RowFocusChanging и RowFocusChanged ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2007, 15:54 |
|
||
|
Теряется быстродействие при использовании Modify
|
|||
|---|---|---|---|
|
#18+
Этот эффект (снижение быстродейсвия после modify) был ярко выражен на старых версиях билдера в dw c сотней колонок или типа того с большим кол-вом расчетных атрибутов (цвет и тп) Боролся -уменьшением кол-ва команд Одна большая эффективнее чем много маленьких и по скорости и результату -применением расчетных колонок и использованием его значения в атрибутах всех колонок строки (например для выделения текущей строки) Вообще для начала "Подложите последний EBF" - стандартная рекомендация службы техподдержки Sybase ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2007, 11:28 |
|
||
|
|

start [/forum/topic.php?fid=15&msg=34645378&tid=1337052]: |
0ms |
get settings: |
10ms |
get forum list: |
10ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 382ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...