GetMemory()
|
|
Serg | Дата: Вторник, 02 Июня 2009, 20:35 | Сообщение # 1 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Code a$=GetMemory() RetString$=StrCopy(a$,6,9) RetString1$=StrCopy(a$,1,5) i=100/VAL(RetString1$) RetVal=VAL(RetString$)*i DisplayValue("EditBox","RetVal") Правильно ли работает эта команда,у меня показывает уровень загрузки памяти на 70%,а в диспетчере грузится 400мб из 2гб. Или я ошибся где то.
|
|
| |
YURIY | Дата: Вторник, 02 Июня 2009, 21:22 | Сообщение # 2 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Всё же, некорректно писать так Quote (Serg) RetString$=StrCopy(a$,6,9) RetString1$=StrCopy(a$,1,5) Что, если у кого-то 512 метров памяти? Вот так лучше, думаю Code mem$=GetMemory()+'/' free=(VAL(GetArrayItem(mem$,/,2))*100)/VAL(GetArrayItem(mem$,/,1)) Message("Свободно:","free") Но у меня три гига памяти, а константа возвращает 2047/2047
Вечная память Андрею Сергееву!
|
|
| |
Serg | Дата: Вторник, 02 Июня 2009, 21:30 | Сообщение # 3 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Аа,да,я забыл что 3-х значные оперативные памяти бывают,привык к своим А почему так.Баг?
|
|
| |
toizy | Дата: Вторник, 02 Июня 2009, 21:45 | Сообщение # 4 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| У меня 4 Гб, возвращает 2047. Баг однозначно
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Вторник, 02 Июня 2009, 22:55 | Сообщение # 5 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| Значит у создателя ММБ оперативы максимум 2047 было.Гы.. Обидно..ещё один баг
|
|
| |
Alex3A | Дата: Вторник, 02 Июня 2009, 23:30 | Сообщение # 6 |
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
| Quote (YURIY) а константа возвращает 2047/2047 Гыдето у них число не вписывается в выделеный формат, а мож и баг 2в степени32 = 4294967295 показывает целую часть половины 2047,999... гыдето старший байт потеряли, видимо сами i64 переводили, методом сдвига бит.
|
|
| |
Dordex | Дата: Среда, 03 Июня 2009, 02:58 | Сообщение # 7 |
Необукер
Группа: Проверенные
Сообщений: 533
Репутация: 16
Награды: 9
Статус: Offline
| Quote (YURIY) Но у меня три гига памяти, а константа возвращает 2047/2047 вот и у меня 4 и нетолько родной команды, все плагины древние для MMB показывали строго 2 гига!
|
|
| |
toizy | Дата: Среда, 03 Июня 2009, 11:39 | Сообщение # 8 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| понятно. Значит, взяли целый тип вместо Int64. Включу функцию определения свободной памяти и частоты в плагин для работы с устройствами
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Serg | Дата: Среда, 03 Июня 2009, 11:40 | Сообщение # 9 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| toizy,ещё бы туда добавить просмот загрузки ЦП
|
|
| |
toizy | Дата: Среда, 03 Июня 2009, 11:49 | Сообщение # 10 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Ну добавим. Какие проблемы
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Sower | Дата: Среда, 03 Июня 2009, 11:56 | Сообщение # 11 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| А че если еще память ядра для полного комплекта
|
|
| |
toizy | Дата: Среда, 03 Июня 2009, 12:00 | Сообщение # 12 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Если это называется Кеш, то можно. только зачем
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Sower | Дата: Среда, 03 Июня 2009, 12:07 | Сообщение # 13 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Quote (toizy) Если это называется Кеш, то можно. только зачем Quote (Grand) для полного комплекта ну штоб, если понадобится не писать новый плагин, а так всё уже будет, назвать его соответсвенно типа SystemMemory (примерно), можно ешо добавить и виртуальную памятьQuote (Grand) для полного комплекта Добавлено (03 Июнь 2009, 12:07) --------------------------------------------- а лучше все подобные памяти: там видеокарта, опрератива, кеш, виртуальная...
|
|
| |
Serg | Дата: Среда, 03 Июня 2009, 12:35 | Сообщение # 14 |
Ветеран форума
Группа: Проверенные
Сообщений: 959
Репутация: 6
Награды: 8
Статус: Offline
| toizy,как всегда готов помоч Уважаю!
|
|
| |
toizy | Дата: Среда, 03 Июня 2009, 14:50 | Сообщение # 15 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Ну если делать как Гранд советует, то это должно быть нечто вроде прищепки Добавлено (03 Июнь 2009, 14:50) --------------------------------------------- Ну ясно. Они используют GlobalMemoryStatus вместо GlobalMemoryStatusEx Quote On computers with more than 4 GB of memory, the GlobalMemoryStatus function can return incorrect information. Windows 2000 and later report a value of -1 to indicate an overflow. Earlier versions of Windows NT report a value that is the real amount of memory, modulo 4 GB. For this reason, use the GlobalMemoryStatusEx function instead.
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Sower | Дата: Среда, 03 Июня 2009, 18:13 | Сообщение # 16 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| потестируйте пару функций у этого плагина, который дает инфу чисто о процессоре, осуществил пока пару функций, нужно протестить, т.к. не уверен я в некоторых данных
|
|
| |
toizy | Дата: Среда, 03 Июня 2009, 18:44 | Сообщение # 17 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| А почему при вызове GetProcessorUsage программа подвисает на 1 секунду? Добавлено (03 Июнь 2009, 18:44) --------------------------------------------- GetSystemInfo вижу, а зачем Sleep используешь? Не надо...
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Sower | Дата: Среда, 03 Июня 2009, 18:54 | Сообщение # 18 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Quote (toizy) А почему при вызове GetProcessorUsage программа подвисает на 1 секунду? там целый алгоритмище для вычисленияДобавлено (03 Июнь 2009, 18:54) ---------------------------------------------
Quote (toizy) GetSystemInfo вижу где?
|
|
| |
toizy | Дата: Четверг, 04 Июня 2009, 09:41 | Сообщение # 19 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Quote (Grand) там целый алгоритмище для вычисления Зачем всё так сложно? В файле твоём. Ты лучше давай сделай алгоритм по-проще, а то штатная функция ММВ обходится без таких сложностей
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
Sower | Дата: Четверг, 04 Июня 2009, 11:43 | Сообщение # 20 |
Ветеран форума
Группа: Проверенные
Сообщений: 916
Репутация: 11
Награды: 3
Статус: Offline
| Quote (toizy) В файле твоём. А, ну да АПИ функция то, а я думал процедура, типа есть, а сам про нее не знаю
|
|
| |
toizy | Дата: Четверг, 04 Июня 2009, 11:54 | Сообщение # 21 |
Студийная субстанция
Группа: Администраторы
Сообщений: 2309
Репутация: 29
Награды: 12
Статус: Offline
| Sleep убери, поставь вычисление на таймер, грузить так не будет. Или читай данные с реестра - самый простой вариант. Добавлено (04 Июнь 2009, 11:54) --------------------------------------------- И подпись укороти, 2 строки должно быть
Жизнь оказалась не такой уж и забавной, как поначалу...
|
|
| |
YURIY | Дата: Четверг, 04 Июня 2009, 13:56 | Сообщение # 22 |
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
| Quote (toizy) И подпись укороти, 2 строки должно быть :) Простите за флуд, но это мой человек, я смотрю
Вечная память Андрею Сергееву!
|
|
| |