Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2020, 14:01   #11
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Видимо разработчики сильно ошиблись когда придумали этот механизм. Движение камеры в 3д это ведь такая редкость.
У меня пару проектов в прошлом с листами сделано где по 500 000 точек рендерится и фпс стабильный.
То есть, если каждую итерацию рендера пересоздавать лист и вызывать его - это будет быстрее?
BLACK_RAIN вне форума Ответить с цитированием
Старый 28.01.2020, 15:25   #12
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
То есть, если каждую итерацию рендера пересоздавать лист и вызывать его - это будет быстрее?

Список создается один раз при загрузке объектов например. А дальше просто производится вызов и все.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 28.01.2020, 15:40   #13
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Список создается один раз при загрузке объектов например. А дальше просто производится вызов и все.
А что будет при количестве объектов, равном 256 * 256 * 64 * 6? А если их позиция/количество будет изменяться по событию или таймеру?
Предлагаете каждый раз все объекты в лист загонять? По-моему, это немного больше времени займет, разве нет?

Последний раз редактировалось BLACK_RAIN; 28.01.2020 в 15:46.
BLACK_RAIN вне форума Ответить с цитированием
Старый 28.01.2020, 15:47   #14
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
А что будет
Ну в мануале читать надо. В любом случае вы чтото делаете наперекосяк. Возможно координаты сразу надо грузить в карту и применять какой нибудь шейдер.
Ну уж точно не while.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 29.01.2020, 11:40   #15
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
В любом случае вы чтото делаете наперекосяк.
Ну уж точно не while.
Мне вот любопытно стало. Если вы всё так критикуете, а как бы вы написали этот алгоритм? При условии, что нельзя использовать циклы. И выбор объектов осуществляется только при помощи буфера выбора, а не как-то иначе.
А ведь изначально вопрос был не про то, кто как код пишет и как надо его писать. Вопрос был исключительно про то, почему один и тот же код (будь он хоть четырежды кривой) на разных языках выдает разный FPS.
А так как ответ, похоже, не знают даже профессионалы, вот и началось обсералово и критика.
Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Ну в мануале читать надо.
Зачем мануал? В мануалах такое не пишут. Я вам и без мануала скажу что будет. Будет минус тысяча FPS. Если повезёт.

Последний раз редактировалось BLACK_RAIN; 29.01.2020 в 11:53.
BLACK_RAIN вне форума Ответить с цитированием
Старый 29.01.2020, 13:44   #16
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
Вопрос был исключительно про то, почему один и тот же код
Компиляторы разные. Разберите полученные приложения, сравните что генериться.


Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
Если вы всё так критикуете, а как бы вы написали этот алгоритм?
Ну мне нужна постановка задачи и исходные данные. Ну и какой то стимул вроде финансов. Я думаю что добился бы и большего фпс.

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
В мануалах такое не пишут.
Правильно. Разработчики ведь не могут предусмотреть всех возможных вариантов использования их инструментов. Но ведь наверняка есть мануал как отобразить большое количество объектов в сцене.

Например есть механизм vbo (vertex buffer object). То есть у вас изначально будет буфер вершин координаты которых вы будете менять так как вам нужно а потом этот массив разом передавать в видеокарту. Ну это наверняка будет и проще и быстрее.


Но если вам прям принципиально найти почему тормозит while то только исследование генерируемого кода вас спасет.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 29.01.2020, 14:08   #17
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Ну мне нужна постановка задачи и исходные данные. Ну и какой то стимул
Стимул у вас уже есть - доказать всему форуму, что вы действительно world master
Цитата:
Сообщение от WorldMaster Посмотреть сообщение
сравните что генериться
и научиться писать "ться" без мягкого знака.
Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Я думаю что добился бы и большего фпс.
Думайте дальше. А без пруфов в виде исходного кода это пустой звук.

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Ну мне нужна постановка задачи и исходные данные.
То есть, критиковать чей-то код, не зная задачи - это вы можете и без мотивации? А для напиания своего кода вам, внезапно, понадобилась постановка задачи и какая-то мотивация. Оригинально, что сказать
BLACK_RAIN вне форума Ответить с цитированием
Старый 29.01.2020, 15:56   #18
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
и научиться писать "ться" без мягкого знака.
Очень серьезное заявление. Даже не знаю как я теперь смогу жить с этим.

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
доказать всему форуму
Тут уже не осталось никого кому стоило бы чтото доказывать. Да и подростковый максимализм уже остался далеко в прошлом.

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
критиковать чей-то код, не зная задачи
Я вам уже ответил что если задача в задротстве то изучайте код который формирует компилятор. Сравнивайте и делайте выводы.

Изначально вам указали что проблема в большом количестве циклов. Это убийство для любой вычислительной системы. И от них как правило стараются избавляться любыми способами. Вам предложили списки, VBO вас не устраивает. Возможно надо как то еще оптимизировать алгоритм но кому в наше время это нужно. Вместо того чтобы найти обходной путь многие предпочитают биться в лоб пока лоб не треснет.
Что тут можно сказать. Надеюсь что ваши труды не будут напрасны.


А вообще можете лучом пройтись. Там рендерить ничего не придется. Можно отдельно просчитать с учетом матриц камеры и мира.
Да и вам действительно нужно рендерить прям миллион кубов?? Ведь даже если предположить что все видно на экране то размер куба около 1 - 2 пикселя. Сложно попасть.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.

Последний раз редактировалось WorldMaster; 29.01.2020 в 17:29.
WorldMaster вне форума Ответить с цитированием
Старый 31.01.2020, 12:48   #19
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Изначально вам указали что проблема в большом количестве циклов. Это убийство для любой вычислительной системы. И от них как правило стараются избавляться любыми способами. Вам предложили списки, VBO вас не устраивает
Изначально я никого не просил помочь мне исправить код и что-то мне предлагать. Это вы сами придумали. Перечитайте тему. Нигде нет просьбы о помощи по оптимизации кода.
Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Да и вам действительно нужно рендерить прям миллион кубов?? Ведь даже если предположить что все видно на экране то размер куба около 1 - 2 пикселя. Сложно попасть.
Вот для этого и нужен цикл. Чтобы выбрать из массива только те кубы, которые находятся рядом с камерой. Варианты с переписыванием и оптимизацией всей логики рендера в данный момент не рассматриваются. Потому что изначальный смысл данной темы не в этом.

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
А вообще можете лучом пройтись. Там рендерить ничего не придется. Можно отдельно просчитать с учетом матриц камеры и мира.
Я уже думал об этом. Но это к теме вообще никак не относится.

Последний раз редактировалось BLACK_RAIN; 31.01.2020 в 12:54.
BLACK_RAIN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение объектов в opengl Chester751 Общие вопросы Delphi 1 20.09.2013 20:49
Пересечение объектов OpenGL saggy Мультимедиа в Delphi 1 02.07.2010 17:02
OpenGL. Независимое движение объектов. Krechet Мультимедиа в Delphi 7 24.04.2010 21:37
Проблема при использовании прозрачности объектов в OpenGL Gwaeron Помощь студентам 0 22.04.2010 11:18
динамическое создание объектов OpenGl Seran4ek Помощь студентам 2 26.11.2009 17:04