1 (изменено: Yurachb, 2020-01-20 02:02:15)

Тема: О рекурсии в динамическом HTA

    В IE8, а HTA – это суть IE7 (близкий брат IE8), когда в синхронном скроллинге я избавился от рекурсии, освободились немалые ресурсы...
    В другом месте применённого мной синхронного скроллинга, покуда действует „схема” рекурсивная, ибо в ней имеются некоторые незаменимые в IE8 свойства, подобные отрицательной обратной связи, но здесь не об этом; так вот, тут пришлось сии не в меру напрягающие динамику последовательности разделять таймингами аж в .3 секунды, а иначе – с каждым последующим циклом – тормоз, вплоть до полного...
    Я предполагаю, что это от кэширования данных ((когда, к примеру, страница скроллировала первый раз, когда итерации вычислялись и задавались рекурсивно, иногда появлялись заметные глазу задержки, тогда как при скроллированиях повторных их не было – здесь, при скроллинге синхронном, задержки были не от той или иной, правильной или неправильной „схемы”, а от как бы утяжелённой самой страницы, как показала практика, от до конца не освобождаемой памяти [в IE8 такая утерянная память не освобождалась до конца даже при переходах по ссылкам, и она за час сёрфинга могла легко перевалить и за треть гигабайта, так что простая перезагрузка страницы IE или HTA, тут будет бездейственна])). Когда кэш не в меру растёт ((что при рекурсии обычно и происходит, когда рост кол-ва кэшируемых данных при росте кол-ва (вложенных) итераций прогрессирует – и хоть обычно с коэффициентом и малым, но всё же геометрически)), то заместо оптимизации происходит обратное, когда вычисления повторные были бы предпочтительнее долгого поиска данных в безразмерно раздувающемся кэше.
    Когда же при переделке динамически открываемой страницы для работы той в HTA, обнаружились подобные задержки и при скроллинге не синхронном ((да и задержки те были уже не на доли, а на целые секунды – HTA-страница, асинхронно раскрывшись, запустилась, синхронно к цели прокрутилась, и на секунду-другую зависла)), то я решил избавляться от всех рекурсий, то есть даже и от работающих немодально – речь идёт об анимациях посредством не библиотек, а „схем” собственных, простых.
    И, как оказалось, не зря; и с каждым удалением рекурсий всякая динамика всё улучшалась и улучшалась: да я и не думал, что асинхронные анимации в архаичных IE8 и HTA могут быть стабильными, подобными анимациям в новых браузерах, шустрых ((анимации синхронные, такие, как скроллинг, в новых браузерах, кроме как в (подобном IE9-) Safari и в старых Opera, про Edge не знаю, невозможны)) – я много лет не понимал почему динамические мои „схемы” в IE8 „тормозят”, а те же самые анимации осуществляемые посредством jQuery работают гораздо плавнее...

—————————————————
    	Пример цикла синхронного:

    	рекурсивного:
    ;(function f(i){		1+2
    i++<100?	f(i):0})(0)

    	нерекурсивного:
    i=-1;while(i++<99){		1+2}
—————————————————
    	Пример цикла асинхронного:

    	рекурсивного:
    ;(function f(i){
    i++<100?setTimeout(function(){1+2
    		f(i)},4):0})(-1)

    	нерекурсивного:
    ;(function(i, t){t=setInterval(function(){
    if(i++<99)			1+2
    else clearInterval(t),t=null},4)})(0)
—————————————————

Мои темы:

+ открыть спойлер
  1. VBS: Восстановление ярлыков в списках перехода

  2. HTA: Графическое представление функций изинг jQuery

  3. HTA: Коды клавиш

  4. HTA: Коды символов

  5. REG: Контекстное меню

  6. HTA: Напоминалка на createPopup()

  7. VBS: Напоминание о дне недели

  8. VBS: Очистка корзины

  9. HTA: Память процессов

  10. VBS: Поисковое окно браузера

  11. HTA: Получить адреса объектов

  12. VBS, HTA: Проверка орфографии

  13. VBS: Работа с историей punto switcher'а

  14. HTA: Создать архив и скопировать на одни или и на другие диски

  15. HTA: Справка пользователя по горячим клавишам с поиском дублей

  16. VBS: Управляем кэшированием записи на диск

  17. PC: Курсоры WinXP ‹Рука 2› для Win7

  18. О рекурсии в динамическом HTA

  19. PC: Улучшаем гаджеты рабочего стола Windows

  20. HTA: Точное время KMPlayer'а (для субтитров) в окне createPopup()

+ открыть спойлер

Кто использует что-либо из мной здесь опубликованного, в связи с последними изменениями буквально всего, рекомендую всё перекачать.

Более полную коллекцию удобняшек и скриптов можно найти в скачиваемом файле на странице:
http://www.liveinternet.ru/users/yurachb/post415980837

И где бы мы ни прятались от других Всюду будет виден наш белый след.