View previous topic :: View next topic |
Author |
Message |
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Sat Jan 26, 2019 23:13 Post subject: |
|
|
Flasher wrote: | Я как-то просил тебя cpuid привинтить. |
Ок, посмотрю, благо там даже пример есть. Параметров там много, выглядеть это, наверно, может как-нибудь так:
Code: |
GetCpuInfo var "SSE3" -> True
GetCpuInfo var "Vendor" -> GenuineIntel
|
Flasher wrote: | А пока прошу сравнить |
Сравнил, разницы не заметил. Но это только на глаз, чтобы тут точные значения получить, надо вводить скриптовые функции-таймеры для измерения времени между двумя вызовами функций. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jan 27, 2019 00:01 Post subject: |
|
|
Loopback wrote: | выглядеть это, наверно, может как-нибудь так: | Может, стоит ещё параметр, возвращающий описание добавить? Есть старые таблички.
Loopback wrote: | Но это только на глаз | На глаз мне бы твоя помощь не потребовалась. Конечно, через таймеры. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Sun Jan 27, 2019 22:55 Post subject: |
|
|
Flasher wrote: | Может, стоит ещё параметр, возвращающий описание добавить? |
Описание параметров, думаю, лучше в справку.
Flasher wrote: | На глаз мне бы твоя помощь не потребовалась |
В принципе я так и думал Попробуй эту версию, добавил функцию получения таймера из скрипта. Значение возвращает в мс. Если окажется полезной, можно будет и оставить. Использовать так:
Code: |
GetTimer T1
ProcessExecGetOutput Manufacturer %ComSpec% '/q/c for /f "skip=2 tokens=2 delims=:" %i in (''"%COMMANDER_PATH%\Utils\CPUIdC.exe"'') do echo%i &exit'
ProcessExecGetOutput DataWidth %ComSpec% '/q/c for /f "skip=3 tokens=2 delims=:" %i in (''"%COMMANDER_PATH%\Utils\CPUIdC.exe"'') do echo%i &exit'
StrReplace /S DataWidth '%DataWidth%' ' Bits'
GetTimer T2
GetWMIValue Manufacturer Manufacturer "SELECT Manufacturer FROM Win32_Processor"
GetWMIValue DataWidth DataWidth "SELECT DataWidth FROM Win32_Processor"
GetTimer T3
Set /C Diff1 %T2%-%T1%
Set /C Diff2 %T3%-%T2%
|
У меня примерно 140 и 30 мс соответственно. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Sun Jan 27, 2019 23:25 Post subject: |
|
|
Loopback wrote: | Описание параметров, думаю, лучше в справку. | Вообще да. В конфиге они ни к чему по сути, если знаешь, что за что отвечает.
Спасибо за GetTimer. Да, подтверждаю, разница существенная.
У меня первая даже за 500 уходит. А вторая в диапазоне 26-35. С отключённым WmiPrvSE.exe около 110-130.
Оставляй. Для тестов весьма полезна. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon Jan 28, 2019 11:18 Post subject: |
|
|
А почему GetTimer? Гуглил-гуглил, так и не нашёл, откуда такое название. У меня лично таймер ассоциируется с чем-то, что надо заводить на какое-то время, и что потом срабатывает. А это, насколько я понял, либо текущий таймштамп (время), либо время со включения компа (тики)... _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Mon Jan 28, 2019 11:39 Post subject: |
|
|
MVV
Да, название некорректное, по-сути это просто обертка над QueryPerformanceCounter. Наверно GetTimestamp будет правильнее. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jan 28, 2019 11:49 Post subject: |
|
|
Loopback
В VBS/VB.NET есть Timer (время от полуночи в single-секундах). Тут пример тоже с gettimer из libc.a.
А GetTimestamp — это отметка даты и времени. У нас же дата отсутствует. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Mon Jan 28, 2019 12:41 Post subject: |
|
|
GetTimestamp - таки только время
На самом деле таймер - это все-таки некий интервал. То что выдает функция - это именно временной штамп от момента включения компьютера.
Хотя если не углубляться в тонкости реализации, название в принципе ничего не меняет. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jan 28, 2019 13:25 Post subject: |
|
|
Timestamp — это по сути число секунд, преобразованное из заданной даты и времени.
Есть брать Unix Time Stamp, то видим 10-тизначное число секунд от 1 января 1070 года. У тебя в текущий момент мне выдаёт 9-тизначное от времени включения в мс.
В vbs в мс 8-мизначное от полуночи можно получить так: Code: | MsgBox CDbl(Timer)*1000 |
Loopback wrote: | таймер - это все-таки некий интервал. | Вот он и есть. Между датой и временем запуска машины/полуночи и текущей датой и временем. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon Jan 28, 2019 16:06 Post subject: |
|
|
Таймштамп - да, нечто более глобальное.
Таймер - это скорее не интервал, а механизм реагирования на истечение некоего интервала.
А число тиков с момента включения... В дотнете это значение возвращается свойством Environment.TickCount (мс, знаковое 32-битное, где-то в 25 дней меняет знак), в Windows API - функцией GetTickCount (мс, беззнаковое 32-битное, где-то раз в 50 дней обнуляется). В WMI вроде время с момента включения считается счётчиком SystemUpTime (секунды). В общем, думаю, надо придерживаться какого-то из существующих названий этой сущности, а не выдумывать своё. GetTicks или GetUptime (может, GetUptimeMs) - вроде неплохие кандидаты. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jan 28, 2019 16:17 Post subject: |
|
|
GetUptimeMs — больше похоже на правду. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Thu Jan 31, 2019 13:37 Post subject: |
|
|
Тогда уж лучше пусть будет GetUptime, т.к. точость функции можно при необходимости сделать и выше, например до микросекунд, добавив управляющий параметр. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Jan 31, 2019 14:08 Post subject: |
|
|
Loopback wrote: | например до микросекунд | А чего сразу не нано? Я уж не говорю про совсем сумашедшие иокто.
По чел. восприятию нам и сантисекунд было бы достаточно. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Mon Feb 25, 2019 02:16 Post subject: |
|
|
BeTeP wrote: | Дело в том, что MoveButton, в отличии от FixWindow, не только переносит кнопку, но и уменьшает ширину диалога копирования/перемещения.
|
MoveButton никогда не уменьшала ширину диалога, просто в то время он был такой ширины. Увы, тут обрадовать не смогу, поскольку есть как минимум две проблемы с уменьшением ширины диалога. Во-первых, уменьшить можно только те контролы, которые есть в диалоге в момент его открытия. А те контролы, которые появляются после нажатия кнопки опций, в момент открытия диалога еще не существуют. Вторая проблема в 64-битной версии тотала, в ней невозможно уменьшить ширину комбобоксов, они никак не реагируют попытки изменить их ширину.
Выложил новые версии тут. MoveOptionsButton теперь запускается без параметров. Если интересно, можно попробовать запустить с параметром "/NARROW" и посмотреть как безобразно выглядит суженный диалог |
|
Back to top |
|
|
BeTeP
Joined: 31 Mar 2005 Posts: 101 Location: Санкт-Петербург
|
(Separately) Posted: Mon Feb 25, 2019 04:17 Post subject: |
|
|
Loopback wrote: | Если интересно, можно попробовать запустить с параметром "/NARROW" и посмотреть как безобразно выглядит суженный диалог |
Выглядит конечно не очень, но лично меня вполне устраивает.
Огромное спасибо. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|