Сказ о том, как мне была дана невиданная мощь, но я не сумел её подчинить

Сказ о том, как мне была дана невиданная мощь, но я не сумел её подчинить

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

…Well

Когда я осознал происходящее, оно застало меня врасплох. С одной стороны я должен быть рад, ведь это значит, что мои игры более производительны, чем я полагал. С другой стороны, вся многолетняя статистика лишается смысла (примерно % на 80).

Можно, конечно, допустить, что это стимулировало меня учиться лучшей оптимизации, и без этих знаний я обладал бы куда меньшим опытом. Справедливо, но всё ещё грустно.

Конечно, в воздухе ненавязчиво висит вопрос: неужели я раньше не мог этого заметить? Неужели всё это время ничего меня не смущало? … Поразмыслив над этим получше, я понимаю, что хоть периодически и задавался такими вопросами как… «Хмм… Интересно, почему когда я смотрю лишь в 4 треугольника, получаю 12 fps, вместо 60?». Но, как правило, я обращался к иным, хоть и смежным областям, где могла затаиться причина. А такие мелочи как «проверь, какой именно процессор нагружен» прошли мимо.

Тем не менее, с новым открытием напряжение ушло, а показатели производительности резко подскочили до небес. Даже самые тормозящие участки внезапно выдавали стабильный максимум. А мысли о включении сглаживания и лучшей фильтрации уже не так страшат. Это был словно праздник, сорвавший тяжёлые грузы, которые много лет давили на меня.

Полученная власть опьянила меня. Я начал действовать безрассудно. Участки, которые хорошо идут и без дополнительной оптимизации воспринимались готовыми. Мысль «и так сойдёт» начала крутиться в голове всё чаще, а страх возвращения в прежнюю эпоху мешал мыслить здраво. …Попробовав это однажды, потом уже тяжело слезть.

На самом деле, всё не так серьёзно, и это также представляло из себя эксперимент. Как никак, открытие заставило меня пересмотреть ситуацию и провести дополнительные тесты производительности. Даже с учётом того, что все они вгоняли меня в эйфорию, я старался вести умеренную политику.

Теперь то можно вздохнуть с облегчением…

Сказ о том, как мне была дана невиданная мощь, но я не сумел её подчинить

Я не могу заставить автоматически использовать тот графический процессор, который нужен. На столько не могу, что даже костыли не помогают. На данный момент единственными способами это сделать являются «Context menu -> Run with graphics processor» или ручное изменение настройки в утилите видеодрайвера (в моём случае Nvidia). Оба эти варианта я могу рассматривать лишь как альтернативы, ибо говорят, что негоже перекладывать ответственность на пользователя.

Поиск в сети дал понять, что это не редкая проблема (по крайней мере была лет 10 назад). Однако все найденные решения не соответствуют условиям, в которых я нахожусь. Ад курильщика – не когда сигарет нет, а когда их полно, но нет огня.

Конечно, в этом есть свои плюсы. Например, никто не сможет обвинить меня в том, что из-за меня у кого-то сгорела видеокарта. Но на этом плюсы окончены.

С иной стороны, есть ли среди читателей сотрудники Microsoft и Nvidia для консультации? Как найти либу, что решит столь незатейливую задачу? Вероятно, пропрогеры возразят: «Найти либу? А самому написать?», на что я отвечу «Если знаете как, поделитесь, буду признателен». А до тех пор всё, что я выпустил, без вмешательств будет работать на CPU.

Сказ о том, как мне была дана невиданная мощь, но я не сумел её подчинить

Благо, на данный момент, публично выпущен лишь один малоизвестный проект. Так что, вероятно, массового позора мне избежать удастся. … До тех пор, пока я не начну думать о том, что проблему то я обнаружил до того, как выпустить свою первую игру. А поговаривают, что когда ты осознанно выпускаешь некачественный продукт – к тебе либо относятся с пониманием, либо с презрением, пока ты не умрёшь или не сменишь имя. Имя мне дорого, так что готов смело заявить, что я открыт к диалогу.

Здесь, вероятно, было бы весьма неплохое место, чтобы снова прорекламировать свою игру, оставив ссылочку, но … Знаете это чувство, когда, например, какой-нибудь блогер говорит «позвольте поделиться сокровенным» и начинает говорить о своей жизни, о своих чувствах и мировоззрении. А потом такой «именно поэтому я хочу порекомендовать вам это каз…». И от принятия того, что вся его откровенность лишь подводка для рекламы, начинает как будто рушиться доверие. Понятия не имею, как много людей испытывают подобное и на сколько это вообще разумно. Однако, не хочу испытывать ничьё доверие. Поэтому не будет вам тут никаких игр (полагаю, теперь не останется вопросов о том, почему она малоизвестная).

Ну а пока мой воображаемый менеджер начинает избивать меня палками, хочу поблагодарить всех, кто дал отдачу к моей предыдущей статейке. Я получил некоторый фидбек, который помог мне найти как технические, так и дизайнерские проблемы. Тем не менее, вышеобозначенная головная боль на данный момент не решена. С этим всё только в процессе.

2323
16 комментариев

Комментарий недоступен

3
Ответить

"Тем не менее, вышеобозначенная головная боль на данный момент не решена."
Как решишь, напиши. Тоже интересно, хоть пока проблем нет.

3
Ответить

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

3
Ответить

Вместо того, что бы просто задать четкий технический вопрос, ты размусоливаешь

1
Ответить

А место, где он его должен задать - тебя не смущает?
Хотя стопэ, ведь ДТФ - это место сбора прогеров, зарабатывающих 300к зелени в наносекунду.

2
Ответить

А место, где он его должен задать - тебя не смущает?
Хотя стопэ, ведь ДТФ - это место сбора прогеров, зарабатывающих 300к зелени в наносекунду.

1
Ответить

А место, где он его должен задать - тебя не смущает?
Хотя стопэ, ведь ДТФ - это место сбора прогеров, зарабатывающих 300к зелени в наносекунду.

1
Ответить