2012-07-05 3 views
0

Есть ли способ получить объем памяти и мощность процессора, необходимые для моего приложения. Недавно у меня был очень неприятный опыт, когда одно из моих приложений продолжало замораживать компьютеры, на которых он работал. Это, очевидно, связано с отсутствием аппаратной мощности, потому что он отлично работает на более сильных компьютерах, которые я использовал для тестирования, где приложение отлично работает. Поэтому мой вопрос: есть ли способ вычислить объем аппаратной мощности, необходимый для бесперебойного запуска приложения? Практически все мои приложения выполняются на C#, поэтому мне нужен метод, который может работать с этим типом приложения. БлагодаряПолучение требований к оборудованию для моего приложения

ответ

5

Это, очевидно, связано с отсутствием аппаратной мощности

Это полностью зависит от того, что делает ваше приложение. Если вы решаете проблемы в «не так эффективном времени», тогда вы можете оптимизировать код.

Предлагаю вам проанализировать ваш код с помощью profiler.

Это скажет вам:

  • Какие части вашего кода занимают большую часть RAM/CPU
  • Сколько оперативной памяти в общей сложности сделал вашу потребность приложения, когда она заглянула
  • Информация о потреблении CPU
+0

Правильно, но представьте, что мы говорим об игре с ПК, и у пользователя есть старый графический процессор и процессор. Иногда профилирование работает хорошо, но другие ситуации - это именно то, что сказал OP: устаревшее оборудование. –

+0

@ MatíasFidemraizer, путем профилирования вы можете найти узкие места в отношении памяти/процессора. GPU будет сложнее сравнивать. –

+0

Да, но ваш ответ не является фактическим решением для ОП. Почему вы думаете, что это проблема оптимизации? Кто знает! Вы предполагаете, что OP написал неоптимизированное приложение, и его проблема заключается не в том, что у некоторых клиентов устаревшее оборудование.Но подождите, он сказал, что у некоторых есть устаревшее оборудование! : D –

0

Я бы сказал, что это необходимо проверить во время установки программного обеспечения. Позже, если пользователю было предложено обновить его/ее аппаратное обеспечение и отклонить предупреждение, вы не должны заботиться об этом.

Если вы используете Windows Installer (MSI), вы можете играть с настраиваемым действием и использовать классы System.Management для определения того, что вы хотите.

+0

Поскольку пользователи очень хорошо читают все, что они представлены во время установки, и [никогда не нажимают «Соглашаться», не читая, на что согласны] (http://www.southparkstudios.com/clips/382786/you-didnt- чтения его). – CodeCaster

+0

@CodeCaster вы всегда можете блокировать установку, если пользователь не заботится о таких уведомлениях! : D –

1

Это, очевидно, связано с отсутствием аппаратной мощности, потому что он прекрасно работает на сильных компьютеров, которые я использовал для тестирования,

Кто установить тестирование должен быть уволен.

У вас должен быть один компьютер, похожий на тот, который приложение будет запускать для тестирования. Это была принятая практика 20 лет назад - кажется, современное время не заботится об этом.

Серьезно, вам НЕОБХОДИМО иметь тестовый набор, который является представителем на вашем самом низком уровне принятого оборудования.

В противном случае - нет, извините, не волшебная кнопка. Профилировщики НЕ обязательно помогают (отладка, профилировщик может использовать больше памяти). Попробуйте профайлер. Оптимизируйте код. Но в конце ... вам нужно иметь приличный стенд.

+0

Точно, но ситуация, в которой я оказалась, - это то, что вчера они мне позвонили, чтобы сказать мне, что они купили 5 компьютеров (не обсуждая ни о чем) и что приложение должно быть функциональным для использования сегодня. Добро пожаловать в жизнь программистов, правильно: D – NDraskovic

+0

;) Это время, когда я говорю своему клиенту, чтобы он стал реальным, и превратил дневной курс в мою почасовую ставку - у меня есть намерение ZERO исправить беспорядок. Они могут с радостью пойти в следующий компьютерный магазин и получить оборудование, соответствующее требованиям. Я рад, что не работаю. – TomTom