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

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

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2013, 18:54   #1
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
Печаль DX9 sample browser низкие fps

Установил DirectX9.
Запустил DX sample browser.
Поставил галочки туторов для С++/С#/VB
Просматриваю программы семплы, смотрю на fps.
Наблюдаю в основном 20-30% падение fps в версиях на С# / VB
И самый вопиющий случай с Particles:
C# ~ 235 fps
VB# ~ 237 fps
С++ ~ 471 fps

Почему такая разница? Запускал несколько раз цифры те же.
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 06.04.2013, 19:20   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

у вас оперативки то хватает?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.04.2013, 19:52   #3
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
у вас оперативки то хватает?
WinXp, 2гб, i3, видеo intel 256mb.
Там просто феерверк разве он много памяти требует?
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 06.04.2013, 22:28   #4
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
Установил DirectX9.
Запустил DX sample browser.
Поставил галочки туторов для С++/С#/VB
Просматриваю программы семплы, смотрю на fps.
Наблюдаю в основном 20-30% падение fps в версиях на С# / VB
И самый вопиющий случай с Particles:
C# ~ 235 fps
VB# ~ 237 fps
С++ ~ 471 fps

Почему такая разница? Запускал несколько раз цифры те же.
Вообще, величины fps, которые больше 60-85 не показательны.
То есть доверять им нельзя.

С другой стороны, производительность (те же самые fps) сильно зависит от того, как распределена нагрузка между CPU и GPU.
Вероятнее всего, в Particles на CPU приходится большая часть нагрузки, чем в других примерах.
Кстати, если судить по названию, это не удивительно.
s-andriano вне форума Ответить с цитированием
Старый 07.04.2013, 07:17   #5
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
По умолчанию

Цитата:
Вероятнее всего, в Particles на CPU приходится большая часть нагрузки, чем в других примерах.
Я тоже самое подумал.
Но пример одинаковый для всех языков. Те же ресурсы, те же текстуры, тот же алгоритм. Но при этом мы имеем меньшую производительность в случаях с С# и VB. Почему?
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 07.04.2013, 16:35   #6
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Хотя бы потому, что C# - полуинтерпретатор. И, вероятно, VB - тоже.
Хотите, чтобы работало быстро, пользуйтесь компилируемыми языками.
s-andriano вне форума Ответить с цитированием
Старый 07.04.2013, 16:57   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от s-andriano Посмотреть сообщение
Хотя бы потому, что C# - полуинтерпретатор. И, вероятно, VB - тоже.
Хотите, чтобы работало быстро, пользуйтесь компилируемыми языками.
там скорее всего просто ошибка измерений того что выше частоты обновления экрана, учитывая сборщик мусора и JIT.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.04.2013, 18:37   #8
intmain
Играюсь с Python
Форумчанин
 
Аватар для intmain
 
Регистрация: 12.12.2012
Сообщений: 340
Лампочка

Цитата:
Хотя бы потому, что C# - полуинтерпретатор. И, вероятно, VB - тоже.
Это что-то вроде того как Visual Basic 6 компилировался в P-code, или Java в байт-код, а не в инструкции процессора ? А разве во время первого запуска С#-программа не компилируется в инструкции для процессора?

Цитата:
Хотите, чтобы работало быстро, пользуйтесь компилируемыми языками
Пока обычный Си изучаю.
Но много людей советуют С# использовать.
Его Майкрософт, наверное, специально для школьников придумала в учебных целях, в нормальных программах, где требуется высокая скорость думаю его не используют, т.к. для всего что связанно с высокими нагрузками, графика - например, он мало подходит.
Ну и для быстрой разработки офисных приложений вполне.

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

В общем спасибо все, мне стало понятно в чем была причина падения Fps.
Пока желание изучать С# сильно поубавилось.

Скажите, а насколько программы на нем переносимы за пределы Win?
Что ел то - в долг, что жил то - зря.
Для избранных. ))
Секретные разработки
intmain вне форума Ответить с цитированием
Старый 07.04.2013, 19:49   #9
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
там скорее всего просто ошибка измерений того что выше частоты обновления экрана, учитывая сборщик мусора и JIT.
Вполне вероятно.
Если посмотрите мой пост #4, именно это высказывается в качестве первого возможного объяснения. Все дальнейшие рассуждения уже потом.
ПРежде, чем делать выводы, я бы постарался переделать тесты так, чтобы не изменить баланс между работой CPU и GPU, но при этом увеличить нагрузку на оба процессора, чтобы добиться fps в районе нескольких единиц.

Последний раз редактировалось s-andriano; 07.04.2013 в 19:51.
s-andriano вне форума Ответить с цитированием
Старый 07.04.2013, 19:53   #10
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от intmain Посмотреть сообщение
Его как я полагаю писали в самой Майкрософт, вы думаете они ошиблись с подсчетом фпс ?
При чем здесь Майкрософт?
Это Вы ошибаетесь, всерьез воспринимая количества fps выше 60.
Ошибка не в программе, ошибка - в трактовке ее результатов.
s-andriano вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MVC sample C++ Smart Visual C++ 0 07.01.2013 15:59
Неразбериха с DX9 alexprey Мультимедиа в Delphi 0 06.04.2011 17:37
Имеется файл sample.wav в папке с программой. Как при помощи saveDialog сохранить/скопировать его ArcaN0id Помощь студентам 9 28.06.2009 14:55