Войти
ПрограммированиеФорумОбщее

Разработка под VR (34 стр)

Страницы: 133 34 35 3638 Следующая »
#495
17:45, 17 янв 2022

romanshuvalov
> В мобильном Окулусе сейчас игроков в несколько раз больше, чем владельцев VR на ПК.
Может и так, но туда похоже уже не залезть простому девелоперу. Времена когда контента было мало и Окулус приглашал разработчиков кончились. Теперь там хозяйничают большие дяди. Может ты и пробьешься, но только имей ввиду что Окулус в тебе не нуждается ну и отношение соответствующее.

#496
(Правка: 18:58) 18:56, 17 янв 2022

563
> Слишком тяжелое?
У меня свой движок, а в системе Playsation собственный GAPI (не OpenGL, не Вулкан, а что-то другое). Как решить вопрос пока не знаю. Тот API вроде бы как похож на D3D, в теории можно попробовать адаптировать под него ANGLE. Но я в глаза не видел ничего из этого и не знаю, сколько времени займет.

А поскольку весь код закрыт и даже Playstation SDK под NDA (дебилизм, но что поделать), то даже при наличии денег нельзя эту задачу отдать на аутсорс.

san
> туда похоже уже не залезть простому девелоперу.
Залезть. В АппЛаб требования слабые и туда спокойно можно попасть с любым приличным проектом. Вот только желающих видать очень много и сроки поэтому вот такие вот.

> Окулус в тебе не нуждается ну и отношение соответствующее.
Главный магазин и АппЛаб это немножко разные вещи. В главный могут и не пустить. А в АппЛаб однозначно пустят, вопрос только в сроках.

#497
20:38, 17 янв 2022

А что сейчас с WebXR ?
Может быть неплохой кросплатформенной заменой для всего, не придется даже ждать публикации игры в сторе)

#498
21:43, 17 янв 2022

romanshuvalov
> требования слабые и туда спокойно можно попасть с любым приличным проектом
Я не про требования, я про рассмотрение в Oculus Store. Если им лень смотреть, то твоя игра будет лежать на полке месяцами. Или если у них и так контента хватает а твой вряд ли принесёт им существенных денег, то будут мурыжить мелкими придирками. Я это уже проходил. Хотя я и пробился в результате, но это было почти 2 года назад. Сейчас все говорят что стало хуже. Так что наберись терпения. Что до АппЛаб то тут я не в курсе, но подозреваю что это одни и те же люди. Короче удачи!

#499
22:33, 17 янв 2022

/A\
> А что сейчас с WebXR ?
Ну так это всё же веб.

> Если им лень смотреть, то твоя игра будет лежать на полке месяцами.
В порядке очереди вроде как. Ранее писали про 4-6 недель, плюс я попал на рождественские праздники, так что с их учётом как раз получается около 2 месяцев. Вот если затянется на существенно больший срок, тогда соглашусь, что это может быть проблемой, но пока проблемы нет, только ждать.

#500
1:10, 18 янв 2022

romanshuvalov
> В порядке очереди вроде как.
Ну дай то бог если так. А то мне изрядно нервы помотали.

#501
(Правка: 12:42) 12:41, 18 янв 2022

san
А нервы мотали просто так или по делу? У них есть чеклист, проверяют по нему ведь. https://developer.oculus.com/resources/publish-quest-req/

#502
(Правка: 13:49) 13:45, 18 янв 2022

romanshuvalov
Ну формально "по делу" а фактически это издевательство. Проблема в том, что там сидят сотрудники (подозреваю индусы) которые только ставят галочки в отчете. Они вообще не понимают как программа работает и им бесполезно что либо объяснять. Причем после каждого "исправления замечаний" приходится реакцию ждать пару недель.

Ну что-бы понятно было: есть требование, что бы во время работы программы фпс не падал ниже 90. И есть какое то (уже не помню) допустимое количество выпавших кадров. Причем проверяется это на самой слабой карте - GTX960. Вроде логично, забота о здоровье юзера.

Теперь мой случай - аппликация рассчитывает трехмерный фрактал в реальном времени. Причем формулу фрактала юзер создает сам и нет ограничения на его сложность (это важно). Программа работает с тредами, один выводит картинку, и он должен поддерживать 90 фпс все время, другой на той же самой карте запускает крайне тяжёлый шейдер. Я долго мучился но достиг того, что во время работы второго треда основной рендер почти не тормозился. Но тут ключевое слово "почти". Всегда можно создать камень который не сможешь поднять. Тестер (напомню, на GTX 960) берет самый сложный фрактал из списка примеров и еще увеличивает рекурсию раза в два. Разумеется 960й карте плохеет и на несколько секунд фпс падает до 45. Тогда тестер радостно кричит "Ага!" и посылает мне результат измерений. Мол исправляй. Попытки обьяснить, что нужно все же соотносить свои желания с возможностями оборудования, игнорируются. Мол у нас в требованиях написано - выполняй.

#503
15:17, 18 янв 2022

san
> Теперь мой случай - аппликация рассчитывает трехмерный фрактал в реальном
> времени.
Вроде как всё норм, наверно можно размазать расчет во времени вне зависимости сложности расчета, чтобы оставаться в нужном FPS.

#504
15:23, 18 янв 2022

san
> на несколько секунд фпс падает до 45
Можно ведь замерить время кадра и замедлить большие расчеты, чтоб не перебивали рендер.

#505
15:57, 18 янв 2022

san
> берет самый сложный фрактал из списка примеров и еще увеличивает рекурсию раза в два.
Точно также поступит юзер и получит 45 fps, а вместе с ним негативный опыт и твоей игры и виара в целом. Так что отказ по такому случаю - это довольно здравое решение.

Выводы: не давать такие примеры, которые могут вызвать просадку фпс. Либо давать предварительную оценку, мол, товарищ, вы ввели данные, которые приведут к тормозам. Снижайте цифры. (И в настройках галочку "не предупреждать" для тех, кто всё же хочет ввести большие цифры).

#506
16:58, 18 янв 2022

betauser
> наверно можно размазать расчет во времени
/A\
> Можно ведь замерить время кадра и замедлить большие расчеты, чтоб не перебивали рендер.
Это не однократный расчёт. Юзер двигает ползунок и сразу видит как меняется картинка на экране. Т.е. картинка пересчитывается многократно. Если она будет меняться рывками это мало кому понравится.


romanshuvalov
> Точно также поступит юзер и получит 45 fps, а вместе с ним негативный опыт и твоей игры и виара в целом.
Эти 45 фпс будут в то время когда юзер двигает рукоятку и значит смотрит на экран перед ним, а не крутит головой. Юзер это не заметит в отличие от робота.

>Не давать такие примеры, которые могут вызвать просадку фпс
Это значит кастрировать программу для 95% юзеров ради удобства (тоже сомнительного) 5% с устаревшим железом.

В общем сначала я повесил портянку с предупреждением, мол программа не ограничивает вашу фантазию но железо имеет свои пределы, поэтому соизмеряйте свои силы. Не помогло. Потом я промаркировал все примеры с указанием сложности. Не помогло. Добавил специальные предупрежденив для тех, у кого карты слабые. Не помогло. Пытался объяснять специфику программы. Не помогло. Потом было еще несколько итераций с тем же успехом. У меня истощилась фантазия, я психанул и просто убрал книгу с готовыми примерами и кинул на утверждение в таком виде. Это они проглотили - без примеров тестер видимо сложный фрактал составить не смог. Ну а потом я сразу вернул книгу обратно, благо любые изменения ПОСЛЕ утверждения проверку не проходят. :)

Вобщем вот как это выглядит:

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#507
17:39, 18 янв 2022

san
> Это не однократный расчёт. Юзер двигает ползунок и сразу видит как меняется
> картинка на экране. Т.е. картинка пересчитывается многократно. Если она будет
> меняться рывками это мало кому понравится.

Может тогда как-то обыграть, что "производится расчет". Вселенский разум или кто-то там обсчитывает вашу формулу, ожидайте эпического результата. В этот раз вы комбинируете действительно что-то невероятное, фрактал во фрактале и еще вокруг фракталы, фракталы повсюду! Думайете это так быстро?! Мы сделаем качественно, вы получите ваш креатив, есть смысл подождать!

#508
17:42, 18 янв 2022

san
> Юзер двигает ползунок и сразу видит как меняется картинка на экране.
Для этого динамическое разрешение придумали, или ТАА включаешь и меняешь количество сэмплов.

#509
(Правка: 19:20) 18:22, 18 янв 2022

betauser
> Может тогда как-то обыграть, что "производится расчет". Вселенский разум или кто-то там обсчитывает вашу формулу.
Ты предлагаешь остановить основной рендер? Это в VR нельзя делать по определению. Из-за тормозов в основном рендере меня и мурыжили.

/A\
> Для этого динамическое разрешение придумали, или ТАА включаешь и меняешь количество сэмплов.
Так и сделано, просто ты не представляешь сложность шейдера. В идеале нужно рассчитать картинку 1024х512 за 10-12 мс. Это нереально на даже на 3090, про 960 лучше промолчу. Поэтому во время движения ползунка я считаю картинку в разрешении 512х256 и она еще разбита на 9 кусков. На GTX 960 на экране при этом будет 15-20 фпс - это не страшно, главное что бы основной рендер выдавал стабильные 90. Когда ползунок останавливается то все просчитывается уже в полном разрешении без спешки. Т.е. пока картинка меняется она фигового качества но это не очень заметно именно поскольку она меняется. А когда ползунок остановился то картинка становится четкой.

Я все же этой задачей пару лет занимался, не надо думать что вы посмотрели и сразу выдали гениальное решение.
Основная проблема не в этом, проблема в том, что структура GPU не позволяет приостановить один поток на время выполнения другого. Если бы можно было приостановить тяжёлый шейдер, быстро вывести картинку, благо это занимает только 3-4 мс и потом вернуться снова к расчёту, это было бы идеально. Но увы. Нет там ни стека ни прерываний. Да и управление приоритетами одностороннее - я могу только повысить приоритет компьют шейдера, но мне нужно сделать приоритетным наоборот графический пейплайн, а это никак. Вот и приходится изворачиваться.

Страницы: 133 34 35 3638 Следующая »
ПрограммированиеФорумОбщее