Например я играю в игру на максимальных настройках - она подлагивает.
процессор (4 ядра) грузится на 70% всего а оперативная память из 3250(4к полностью) потребляется мало (остается еще 700 мб памяти) как зделать так чтобы игра потребляла всю мощность компа?
Если что видео карта у меня крутая, и не в ней дело.
у меня WIN 7
Другие языки программирования и технологии
как послать всю мощность процессора на один процесс? помогите плиз!
Скорее всего никак.
Один поток максимум может загрузить на 100% только одно ядро. т. е. всего 4-ядерный процессор он может загрузить на 25%.
Игра - конечно многопоточное приложение, и все зависит от того как в этой игре все распараллелено между потоками, но разные потоки требуют разной загрузки процессора.
И так как потоки между собой синхронизируются, то если один из потоков упирается в максимальную производительность одного ядра, то остальным потокам при такой работе этого потока не требуется такой загрузки.
Вот тебе такой примерчик:
Представь себе ситуацию - Вася набирает воду из колодца, несет ее в ведрах на некоторое расстояние и выливает. Это один поток. Им может управлять только одно ядро, которое может быть загружено на 100%, другое ядро будет незагруженным.
А теперь представь себе что Васе помогает Петя (другой поток) . Петя набирает воду из колодца, а Вася носит. . В случае с одноядерным процессором - это производительности не добавит, однако если у нас несколько ядер - то система эти 2 потока разбросит по разным ядрам. производительность повысится. Но если васе носить воду далеко, то Петя наберет воду и будет ждать Васю (т. е. получится не полностью загруженное ядро) . Вася загружен на 100%, а Петя например на 60%, ибо в течении 40% времени он тупо ждет Васю. В итоге общая загруженность двухядерного процессора окажется (100+60)/2=80% и выше ее не подымешь, ибо Петя вынужден часть времени тупо ждать Васю.
Общая производительность двух ядер в таком случае окажется выше чем одного ядра, но не в 2 раза, а в нашем случае в 1,6 раз.
Вобщем все зависит от того, как в программе реализовано распараллеливание и от того как система "раскидает" потоки между ядрами. Но в большинстве случаев на многоядерных системах добиться 100% загрузки всех ядер очень трудно, и это зависит от программистов, которые разрабатывали программу, а не от пользователя.. .
К тому же сейчас развелось много процессоров двух-трех-четырех и более ядерных и создать программу которая наиболее эффективно использовала бы все ядра в любом процессоре тоже очень трудно. Реальная программа может более эффективно использовать ресурсы процессора в одних случаях и намного хуже в других.
Вобщем объяснение довольно грубое и примитивное, но думаю сможет помочь понять ситуацию в общих чертах.
Один поток максимум может загрузить на 100% только одно ядро. т. е. всего 4-ядерный процессор он может загрузить на 25%.
Игра - конечно многопоточное приложение, и все зависит от того как в этой игре все распараллелено между потоками, но разные потоки требуют разной загрузки процессора.
И так как потоки между собой синхронизируются, то если один из потоков упирается в максимальную производительность одного ядра, то остальным потокам при такой работе этого потока не требуется такой загрузки.
Вот тебе такой примерчик:
Представь себе ситуацию - Вася набирает воду из колодца, несет ее в ведрах на некоторое расстояние и выливает. Это один поток. Им может управлять только одно ядро, которое может быть загружено на 100%, другое ядро будет незагруженным.
А теперь представь себе что Васе помогает Петя (другой поток) . Петя набирает воду из колодца, а Вася носит. . В случае с одноядерным процессором - это производительности не добавит, однако если у нас несколько ядер - то система эти 2 потока разбросит по разным ядрам. производительность повысится. Но если васе носить воду далеко, то Петя наберет воду и будет ждать Васю (т. е. получится не полностью загруженное ядро) . Вася загружен на 100%, а Петя например на 60%, ибо в течении 40% времени он тупо ждет Васю. В итоге общая загруженность двухядерного процессора окажется (100+60)/2=80% и выше ее не подымешь, ибо Петя вынужден часть времени тупо ждать Васю.
Общая производительность двух ядер в таком случае окажется выше чем одного ядра, но не в 2 раза, а в нашем случае в 1,6 раз.
Вобщем все зависит от того, как в программе реализовано распараллеливание и от того как система "раскидает" потоки между ядрами. Но в большинстве случаев на многоядерных системах добиться 100% загрузки всех ядер очень трудно, и это зависит от программистов, которые разрабатывали программу, а не от пользователя.. .
К тому же сейчас развелось много процессоров двух-трех-четырех и более ядерных и создать программу которая наиболее эффективно использовала бы все ядра в любом процессоре тоже очень трудно. Реальная программа может более эффективно использовать ресурсы процессора в одних случаях и намного хуже в других.
Вобщем объяснение довольно грубое и примитивное, но думаю сможет помочь понять ситуацию в общих чертах.
Еще есть такое понятие, как приоритеты выполнения разных процессов. Чем выше приоритет, тем больше ресурсов процессора он будет потреблять.
Надо установить для игры высокий приоритет. Но как их устанавливать, я не знаю. Гугли!
Надо установить для игры высокий приоритет. Но как их устанавливать, я не знаю. Гугли!
Никак.
Если один процесс получит ВСЕ ресурсы, то это не значит что он будет работать быстрее остальных.
Это лишь объяснение того как программы делят между собой ресурсы системы. В идеале все должны иметь равные права. Иначе появится медленный процесс который заблокирует за собой важные ресурсы системы на долгий срок, и быстрый процесс зависнет.
Точно также работает приоритет процесса или потока. Чем выше приоритет тем быстрее процесс получит доступ к железу. Но и тем выше шанс что будет зависание из-за чрезмерно долгого блокирования важного ресурса процессом которому не хватило ресурсов.
Это лишь объяснение того как программы делят между собой ресурсы системы. В идеале все должны иметь равные права. Иначе появится медленный процесс который заблокирует за собой важные ресурсы системы на долгий срок, и быстрый процесс зависнет.
Точно также работает приоритет процесса или потока. Чем выше приоритет тем быстрее процесс получит доступ к железу. Но и тем выше шанс что будет зависание из-за чрезмерно долгого блокирования важного ресурса процессом которому не хватило ресурсов.
можно установить другую скорость подкачки файлов, но тогда у тебя на винду не останется. а какая игра?
Похожие вопросы
- Как определить мощность процессора на ноуте? Бюджет ноута до 60к.
- Общая загруженность процессора при запущенном процессе с один потоком, выполняющим "while(true){}", не превышает 33%.
- Кто поможет, плиз, перевести изображение текста в ворд (у меня нет файнридера) ?
- Для тех кто разбирается в Turbo Pascal 7.0 помогите плиз))))
- Помогите плиз задолбала эта ошибка!
- Помогите плиз поставить загрузку с CD
- Помогите плиз!!Задача в Паскале
- Дана матрица размером NxM. Упорядочить ее строки по неубыванию их наибольших элементов. в делфи помогите плиз срочно
- Помогите плиз с DOS кодом
- Помогите плиз!!! СРОЧНО!!!