10.05.2016, 11:42 | #1751 | |
Пользователь
Регистрация: 17.08.2015
Регион: 06
Сообщений: 45
|
Цитата:
|
|
10.05.2016, 17:38 | #1752 |
Бывалый писикарщик
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
|
Евген_21
duzzy Есть вопрос по запуску менеджера для JS плейлиста , как сейчас это работает без AHK ? Так-же интересует старт (скорость) плеера - учитывая проверки тем цветов для градиентов регуляторов сик и звука и тд .. Евген_21 еще Tы спрашивал как-то за регулировку индикаторов кнопками в 7-ке . попробуй те файлы , что по пути: 4Icar_13_5_MPS_UNI\foobar2000\Emul\Windows_7\Wheel D.exe 4Icar_13_5_MPS_UNI\foobar2000\Emul\Windows_7\Wheel Up.exe заметить в папку Emul |
11.05.2016, 14:33 | #1753 | |
Гуру
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
|
seriousstas
Только до нормального компа добрался))) в секции преппроцессора... pss.GetPanel(11); /*PANEL: [milk]*/// ==PREPROCESSOR== могут возникнуть ошибки при компиляции, лучше убрать(секция препроцессора очень чувствительная штука, на глаз все может работать без проблем, но могут возникать утечки, глюки при вызовах, непонятные артефакты и другие неприятные штуки). работает шустро, стартует тоже быстро, вроде все как должно быть... Заметил загрузку проца примерно до 10% процентов при проигрывании и покое но это не критично с учетом кол-ва скриптов и бегущей строки.(тяжелые скрипты можно поставить в отсроченную загрузку "Delay Load" галка в редакторе скрипта) Вопрос, а чего не сделал автопереключение по времени ? Я пробовал с Икаром работает очень даже не плохо Цитата:
Расскажи плиз схему работы вызова вкратце... интересно как устроено
__________________
Готовые сборки foobar2000 для КарПС //--- FLAT ---\\ Сборки PotPlayer Полезные утилиты |
|
11.05.2016, 15:08 | #1754 | |||||
Бывалый писикарщик
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
|
Цитата:
Цитата:
Цитата:
Экран утоплен слегка - запас яркости у этого старичка-Самсунга предостаточный, чтоб четко видеть все элементы даже при прямом солнце .. + есть небольшой отвлекающий момент . Может со временем, когда победим рестарт .. Цитата:
получается в среднем 1-2%(проц купил 8 лет назад))), если первый запуск и состояние покоя - опускается до 0.3 иногда (если не сложно сними что-то типа ,что-б понять, где нагрузка максимальная) : Цитата:
|
|||||
11.05.2016, 16:03 | #1755 |
Бывалый писикарщик
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
|
На кнопке простой переключатель (два состояния) :
Код:
man++; if (man > 1) man = 0; if (man == 0) { if (Man_set_off= utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==2){ utils.WriteINI( set_path + 'settings.ini', 'close_man', 'man_off', 1); } } if (man == 1) { if (Man_set_off= utils.ReadINI( set_path + 'settings.ini', 'start_man', 'man_off')==0){ utils.WriteINI( set_path + 'settings.ini', 'start_man', 'man_off', 1); TAB_Timer = window.CreateTimerInterval(TAB_prop); } } window.SetProperty("SYS.Man Switch", man); Код:
[start_man] man_off=0 [close_man] man_off=0 [time_man] man_off=0 Код:
function togglePlaylistManager_1(){ .......} и function togglePlaylistManager_2(){ ............} При вызове пишу единицу, а самой функции (JS) её обнуляю, что-б не грузить проц : utils.WriteINI( set_path + 'settings.ini', 'start_man', 'man_off', 0); Далее - это для кнопки "закрыть" (ты её рисовал - знешь где ) : utils.WriteINI( set_path + 'settings.ini', 'close_man', 'man_off', 2); - внутри function togglePlaylistManager_2() - показываю открытую панель, при закрытии - обнуляю . в WSHplaylistmanager.js пишу тройку при закрытии (крестиком) : utils.WriteINI( set_path + 'settings.ini', 'close_man', 'man_off', 3); В МПС принимаю и обнуляю эту тройку здесь (это чтоб переключатель window.SetProperty("SYS.Man Switch", man); стал в правильное положение) : if (TAB_set_off = utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==3){ tab_switch_check() } Здесь смотрим за значениями в главном скрипте JS : Код:
function on_paint(gr) { if (utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==1){ togglePlaylistManager_1(); } if (utils.ReadINI( set_path + 'settings.ini', 'start_man', 'man_off')==1){ togglePlaylistManager_2(); } ........ Код:
p.playlistManager.check("down", x, y); var set_path = fb.ProfilePath + "\\settings\\"; if(cPlaylistManager.visible) { utils.WriteINI( set_path + 'settings.ini', 'time_man', 'man_off', 3); } Код:
function on_timer(id) { if ( utils.ReadINI( set_path + 'settings.ini', 'time_man', 'man_off')==3){ tab_switch_check2() } |
11.05.2016, 18:34 | #1756 | |
Гуру
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
|
seriousstas
Вот видосик по нагрузке в покое и без... мой проц уже стар по нынешним меркам, поэтому нагрузку видно хорошо. И я еще повторюсь, нагрузка не критичная просто подметил что она есть... Последнее время просто стараюсь оптимизировать функции убрав лишнюю нагрузку. Интересная схема Цитата:
смотри у тебя опрос стоит в on_paint(gr)... лучше заменить на интервальный таймер например с опросом каждые пять секунд, тем самым уберешь нагрузку на проц и графику и постоянный опрос файла settings.ini на диске... а в таком варианте function on_paint(gr) { if (utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==1){ togglePlaylistManager_1(); получается постоянное чтение файла с диска из функции он_паинт что может подтормаживать графику на медленных системах... я у себя переделал по таймеру и лишняя нагрузка ушла... Мой совет лучше сделай отдельную функцию опроса, что то вроде этой... Код:
var time_to_refresh = window.GetProperty("Check_Pl_Manager", 5000); var t_to_refresh = false; function pl_manager_check() { window.ClearInterval(t_to_refresh); t_to_refresh = window.SetInterval(function() { if (utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==1){ togglePlaylistManager_1(); } if (utils.ReadINI( set_path + 'settings.ini', 'start_man', 'man_off')==1){ togglePlaylistManager_2(); } }, time_to_refresh); }; pl_manager_check();
__________________
Готовые сборки foobar2000 для КарПС //--- FLAT ---\\ Сборки PotPlayer Полезные утилиты |
|
11.05.2016, 19:08 | #1757 | ||
Бывалый писикарщик
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
|
спасибо за видео - очень наглядно !
Цитата:
Цитата:
Я ведь показываю 1-цу и сразу прячу , как-бы это работало в общей схеме ? Нажимаю - жду 5 сек - появляется менеджер , но даже если так, как он появится ,если я уже обнулил 1-цу) ? Судя и по видео и по моим тестам - в покое особой нагрузки нет тк нет действий, кроме опроса ини . Допустим если-бы при 0-ле скрипт всегда пытался закрыть панель - тогда да - растет нагрузка .. |
||
11.05.2016, 20:06 | #1758 | |
Гуру
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
|
seriousstas
Пожалуйста ! Да я имею в виду так же как я делал с панелью ДСП при переключении пресета... Т.е. постоянно работает интервальный таймер например на на 5-ть секунд, и каждые 5-ть секунд идет опрос файла settings.ini на предмет смены флага... т.е. по сути нужно просто заменить это в JS... Код:
function on_paint(gr) { if (utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==1){ togglePlaylistManager_1(); } if (utils.ReadINI( set_path + 'settings.ini', 'start_man', 'man_off')==1){ togglePlaylistManager_2(); } ........ Код:
var time_to_refresh = window.GetProperty("Check_Pl_Manager", 5000); var t_to_refresh = false; function pl_manager_check() { window.ClearInterval(t_to_refresh); t_to_refresh = window.SetInterval(function() { if (utils.ReadINI( set_path + 'settings.ini', 'close_man', 'man_off')==1){ togglePlaylistManager_1(); } if (utils.ReadINI( set_path + 'settings.ini', 'start_man', 'man_off')==1){ togglePlaylistManager_2(); } }, time_to_refresh); }; pl_manager_check(); Цитата:
Т.е. закрытие менеджера может произойти как через 1-ну секунду может через две, три или через 5-ть... зависит от того до какого времени отмотался таймер как в примере установленный на 5-ть секунд. По сути ты будешь делать тоже самое что было ранее в он_паинт в JS но по установленному тобой интервалу времени, а не постоянно как было в он_паинт... Просто как мне кажется это постоянная лишняя нагрузка которой можно избежать, тем более что менеджер-плейлистов не так часто вызывается. -------------------------------- только что проверил в твоей сборке, все работает как надо... не забудь только потом проверку из он_паинт убрать интервал 5-ть сек. и опрос итервал 5-ть сек. и опрос... и т.д. твоя сборка в режиме стоп... загрузка проца 0%
__________________
Готовые сборки foobar2000 для КарПС //--- FLAT ---\\ Сборки PotPlayer Полезные утилиты |
|
11.05.2016, 21:16 | #1759 | ||
Бывалый писикарщик
Регистрация: 14.06.2013
Регион: Украина
Машина: Nissan Qashqai+2
Сообщений: 3,424
|
Цитата:
мгновнно, но даже при таком опросе уже меньше грузит проц (оставлю так)... Цитата:
Интересно , почему function on_timer(id) { в МПС ничего не грузит (если ты заметил , там несколько проверок) , хотя так-же отслеживает изменения в ini онлайн , без таймеров |
||
12.05.2016, 02:04 | #1760 | ||||
Гуру
Регистрация: 01.06.2013
Регион: 78, 98
Машина: SUBARU Impreza WRX
Сообщений: 1,766
|
seriousstas
Цитата:
Но я бы все же поставил хотя бы 3000 мс - 3 сек. потому как 100-200 мс это ооочень часто... можешь сам посмотреть в консоли трейсом --- fb.trace("тут пишем что угодно"); прописываешь трейс в функцию опроса затем открываешь консоль и видишь в ней количество вызовов этой функции... прописать можно сюда... ... } fb.trace("тут пишем что угодно, текст который будет отображаться в консоли"); }, time_to_refresh); }; Цитата:
Цитата:
Создаются таймеры по ID которые работают изолированно друг от друга и поэтому не оказывают влияния на другие процессы. Цитата:
И у тебя там еще window.RepaintRect(...) прописан для каких-то целей... тоже постоянно что то перерисовывающий, по хорошему его бы тоже в таймер нужно прописать а не в общую функцию, либо прописать там где нужен репаинт в зависимости от события... я бы подсказал куда прописать но не знаю для чего нужен репаинт...
__________________
Готовые сборки foobar2000 для КарПС //--- FLAT ---\\ Сборки PotPlayer Полезные утилиты |
||||
Здесь присутствуют: 19 (пользователей: 0 , гостей: 19) | |
|
|