forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Не полная загрузка системы (http://forum.boolean.name/showthread.php?t=20458)

tirarex 27.10.2016 23:51

Не полная загрузка системы
 
Решил продолжить разработку своего хоррора.
Столкнулся с проблемой. Фпс конечно стабильный и высокий,
Но загруженность цп/гпу всего 50-60%, оперативки свободно много, проект на ссд, подгрузок в риалтайме не делает.

Собсно что может быть причиной такого поведения ?
Как заставить игру юзать все ресурсы пк ?

ОРИГИНАЛ СКРИНШОТА ТУТ https://www.dropbox.com/s/cizhygorht1svic/%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%2 02016-10-27%2023.47.35.png?dl=0

и более корректный https://www.dropbox.com/s/japxhmhtbv...28.22.png?dl=0


Randomize 28.10.2016 00:42

Ответ: Не полная загрузка системы
 
Delay(1) в цикл впердоль

tirarex 28.10.2016 01:07

Ответ: Не полная загрузка системы
 
Цитата:

Сообщение от Randomize (Сообщение 309529)
Delay(1) в цикл впердоль

та же хрень

moka 28.10.2016 01:08

Ответ: Не полная загрузка системы
 
А ты уверен что Xors3D + Blitz3D умеет мульти-поточно?
Если там и есть пару потоков, и они не динамично создаются, а изначально выделены под разные сферы, там может быть не эфективно распределено, и приводит к тому что не все ресурсы используются.

Но я сомневаюсь что там вообще что-либо мульти-поточно.

Randomize 28.10.2016 01:21

Ответ: Не полная загрузка системы
 
Нет, не та же.
Если убрать Delay, то будет сжираться всё процессорное время первого ядра как на первом скрине.

tirarex 28.10.2016 01:27

Ответ: Не полная загрузка системы
 
Цитата:

Сообщение от Randomize (Сообщение 309537)
Нет, не та же.
Если убрать Delay, то будет сжираться всё процессорное время первого ядра как на первом скрине.

я второй скрин кинул, на первом я альттабался кое куда.

Цитата:

Сообщение от moka (Сообщение 309534)
А ты уверен что Xors3D + Blitz3D умеет мульти-поточно?
Если там и есть пару потоков, и они не динамично создаются, а изначально выделены под разные сферы, там может быть не эфективно распределено, и приводит к тому что не все ресурсы используются.

Но я сомневаюсь что там вообще что-либо мульти-поточно.

Так проц отдыхает по полной, вся нагрузка на видеокарте. А они тоже ничего особо не делает. Если включить все пост эффекты то фпс проседает, но нагрузка не поднимается.

Вангую ограничение ксорса. Но как его убрать...

Randomize 28.10.2016 02:55

Ответ: Не полная загрузка системы
 
Минуточку, плохо прочитал первый пост:
Цитата:

Столкнулся с проблемой. Фпс конечно стабильный и высокий,
Но загруженность цп/гпу всего 50-60%
Советую почитать каким образом происходит расчёт этих показателей и что такое единица вычислительной мощности.

tirarex 28.10.2016 04:08

Ответ: Не полная загрузка системы
 
В общем, хз как считает ProcessExplorer, но Msi afterburner показывает 100% нагрузку, что странно...

Еще вроде hyper threading делает свое дело и нагрузка идет не на 1 ядро а на 2.

pax 28.10.2016 07:20

Ответ: Не полная загрузка системы
 
У тебя какой-то твининг используется (не знаю есть ли он в ксорсе)? Установи для него больше кадров в секунду.

ABTOMAT 28.10.2016 13:38

Ответ: Не полная загрузка системы
 
Блиц всю жизнь был однопоточный.
Ни hyper-threading, ни большое количество ядер процессора не смогут его заставить работать на больше чем одно ядро.
В лучшем случае будет Блиц на одном ядре, всё остальное — на другом (если их два).
Если в Блице включена вертикальная синхронизация, то FPS ограничен 60 Гц, и, если кадр отрисовался быстрее, то Блиц будет просто ждать, пока не придёт время делать новый кадр и в этот момент процессор грузить не будет, поэтому при включённой ВС Блиц не может сожрать больше определённого процессорного времени. Если отключить, то будет жрать сколько найдёт (а надо ли?).

Arton 28.10.2016 17:49

Ответ: Не полная загрузка системы
 
Цитата:

Сообщение от ABTOMAT (Сообщение 309544)
то FPS ограничен 60 Гц...

Извините, не могу не уточнить, ограничения по монитору(!), и не как иначе, если монитор 75Гц или больше, столько и FPS будет.

impersonalis 29.10.2016 02:01

Ответ: Не полная загрузка системы
 
Цитата:

Сообщение от ABTOMAT (Сообщение 309544)
Блиц всю жизнь был однопоточный.
Ни hyper-threading, ни большое количество ядер процессора не смогут его заставить работать на больше чем одно ядро.
В лучшем случае будет Блиц на одном ядре, всё остальное — на другом (если их два).

Скрупулёзности ради: физическое ядро, на котором крутится приложение может меняться операционной системой хоть каждый момент получения процессорного времени, если только не задана жёсткая привязка. (отсюда и известная проблема с QPC)
Опять-таки: что понимать под "блитц". Например, я всю логику (а она, в моей задаче, существенно тяжелее картинки) выпихивал в Си-шную DLL, там делал сколько надо потоков. Блитц, в "нужный момент" вызывал блокирующую функцию из длл-ки, которая поднимала volatile флаг, отслеживаемый потоками (вычисления шли беспрерывно) и уходила в спячку. Поток, обнаружив флаг, отгружал в память последние расчётные данные, опускал флаг и возбуждал событие, вызывающая функция просыпалась по событию и разблокировала выполнение Блитца. Память для обмена создавала длл-ка и сообщала адрес "блитцу".
Но если речь о рендере движком (а не подготовке данных для этого) - то да: блитц однопоточен.

ABTOMAT 29.10.2016 21:04

Ответ: Не полная загрузка системы
 
Ок, я говорил только про самый общий случай.
ЭЛТ-моник 120-герцовый сейчас мало у кого.
Самодельные крестовые либы с потоками как правило тоже не рассматриваются

DarkInside 04.11.2016 02:33

Ответ: Не полная загрузка системы
 
:-D Поделить экран на 4 и рендерить в 4 отдельных процессах с бесшовными окнами, синхронизацией и глобальной мышью через winapi?

Arton 04.11.2016 04:31

Ответ: Не полная загрузка системы
 
Цитата:

Сообщение от DarkInside (Сообщение 309705)
:-D Поделить экран на 4 и рендерить в 4 отдельных процессах с бесшовными окнами, синхронизацией и глобальной мышью через winapi?

О боже! Нет! Как тебе это в голову пришло!
Месье знает толк... Уж лучше библиотеку FastPointer использовать.


Часовой пояс GMT +4, время: 14:06.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot