|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
30.01.2011, 18:00 | #11 | |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Цитата:
Теперь о предыдущем посте. 1) Это так 2) Зависит, если, например, видеокарта встроенная, то процессор может взять на себя отрисовку (не аппаратно, конечно, софтварно). Или если не хватает мощности видеокарты. Но тут уже зависит от системы. 3) Да, но пока сцена не просчитается, она не может быть отрисована (у меня это пока в одном цикле, что, конечно, неправильно). Поэтому количество пересчётов, а значит, и отображений за секунду зависит от скорости просчёта сцены, т.е. от мощности процессора. 4) Неправда. Beermonza объяснил это. 5) Да. Но у того моего друга и видюха очень мощная. 6) Как я уже сказал, поможет - система перенесёт расчёт сцены на процессор. 7) Это да. |
|
30.01.2011, 22:18 | #12 |
Регистрация: 19.01.2011
Сообщений: 3
|
fps
что бы посчитать fps счетчик времени нужен грамотный,
я пишу на delphi и там функции типа gettickcount или now в вопросе fps никак не помогут. что за у вас функция timeGetTime() я не знаю. наверняка это функция производная из системного таймера как и gettickcount. gettickcount не может нарезать время по 0,5мс, 1 мс или 5 мс, только кратными кусками по 15-20 мс. отсюда и ваш постоянный fps в 60pfs. функции системного таймера для работы с fps не годятся. предлагаю использовать rdtsc для замера времени между кадрами и также в зависимости от этого времени формировать приращение движущихся объектов, чтобы скорость движения объекта была постоянная во времени, например = 2 радиан/сек и не зависела от fps. выкладываю пример, там в константах нужно вам проставить частоту вашего процессора в константе, fps выводится раз в 1/5 секунды в заголовке окна. свои трехмерные вещи делаю таким методом. |
31.01.2011, 15:47 | #13 | |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Цитата:
Как например видеокарта поможет слабому процессору не успевающему обрабатывать большое количество физических объектов? Разве что CUDA... А весь fps>~1000 фейковый и при небольшом увеличении нагрузки он резко падает. |
|
31.01.2011, 16:50 | #14 |
Люблю жизнь
Форумчанин
Регистрация: 01.12.2009
Сообщений: 193
|
Изначально графикой занимался процессор. А потом с него сняли эту обязанность и возложили на видеокарту. Но процессор не разучился этого делать и помогает видеокарте, когда она не справляется. Но видеокарта не помогает процессору, как сказал Вадим Буренков. Вот такая сказка
Не стыдно не уметь, стыдно не учиться.
|
31.01.2011, 17:16 | #15 | |
Форумчанин
Регистрация: 10.09.2009
Сообщений: 352
|
Цитата:
С другой стороны, если, даже под влиянием этих факторов, погрешность незначительная, то ей можно принебречь. |
|
31.01.2011, 19:53 | #16 |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Если выводом сцены занимается видеокарта, и это не типичное VCL с ее тормозностью и вообще заторможенными процессами, через заднепроходное отверстие, то достаточно простого Inc(t), а в обработке сцены в самом конце t := 0; и вывод текста fps на экран. Моя видеокарта показывает до 480 fps, но в основном в районе 200, в худшем случае 70-80 fps. А вот на ноутбуке (Core 2 Duo 1,8GHz) с его встроенной видеокартой Intel X3100, как не старайся, не более 64, виной тому скорее всего ограничение, которое снимать я бы не рекомендовал.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
31.01.2011, 22:54 | #17 | |
Пользователь
Регистрация: 09.01.2011
Сообщений: 16
|
Цитата:
Хотя самой простой реализацией нахождения FPS было бы использование в таймере с интервалом в 1 с такой формулы: FPS = 1 / время выполнения рендерера зы минусы rdtsc объяснил anyx, поэтому задумываюсь об использовании QueryPerformanceCounter, хотя и она не безгрешна (оверхед около 2 мкс) |
|
03.02.2011, 14:34 | #18 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
Beermonza, уточню свой ответ. FPS частично зависит от монитора. Когда я играл в Crysis на старом мониторе, FPS было ~24 FPS,когда играл на новом - ~30 FPS.
Продолжаем дискуссию, anyx. 1) Значит, подсчёт FPS ведётся неправильно. 2) Уточню. Уровень FPS не зависит от процессора, если они примерно равной силы, т.е. и процессор приличный и видеокарта тоже. Ежели Между ними большая разница - то зависит. 3) Вот именно, от процессора зависит лишь скорость просчёта сцены. А если, например, процессор у нас Core i7, а видеокарта уровня GeForce FX 5200? В таковом случае сцены будут просчитываться очень быстро, но они просто не будут успевать отрисовываться- в таковом случае игра будет подвисать. 4) Уточнил в начале поста. 5) Добавлю. От видеокарты зависит скорость отрисовки сцен. 6) Так расчётом сцены и так занимается процессор! Видеокарта занимается отрисовкой. Это только в DirectX 11 появилась функция, позволяющая переложить часть расчётов на видеокарту. А для процессора отрисовать сцену даже софтверно займёт очень много времени. 7) Разногласий нет. Теперь обращаюсь к Вадиму Буренкову. CUDA доступна лишь на NVIDIA видяхах. А что вы будете делать с Radeon-видеокартами? Конечно, у AMD есть Brook+, но оно пока не очень развито да и не для этого оно. |
03.02.2011, 19:07 | #19 | |
Инженер ИС
Старожил
Регистрация: 13.12.2006
Сообщений: 2,671
|
Цитата:
Вообще, говорить "что от чего зависит", не указывая марку производителя процессора и видеокарты - некорректно, ...тем более, что разные процессоры и разные видеокарты ведут себя по-разному в одних и тех же условиях, а если учесть их неограниченное комбинирование, то разговор превращается в холивар. _-Re@l-_, это хорошо, что ты отстаиваешь свою точку зрения, это правильно, ...когда услышишь достаточное количество доводов чтобы переменить ее, тебя никто меньше уважать не станет, ...это форум, где любая мысль имеет право на жизнь.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
|
|
04.02.2011, 19:32 | #20 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
На процессоре обычно считаю физику, матрицы трансформации(projection*world*view ), логику...
На видеокарте, различные трансформации вершин и цвет По поводу расчетов не видеокарте, есть CUDA, Stream, OpenCL, шейдеры(вершинные, пиксельные, геометрические + куча еще всяких) Насчет FPS, тема ооочень заезженная, есть понятие вертикальной синхронизации, видеокарта ждет пока кадр полностью отрисуется на мониторе и только потом начинает рисовать новый, при отключении видеокарта не ждет и формирует кадры на полной катушке и шлет их монитору не дожидаясь отрисовки старого кадра, поэтому можно наблюдать не очень хороший эффект(1/3 монитора старый кадр, 1/3 новый, 1/3 совсем новый, например), есть еще такая штука как формирование зарание нескольких кадров, не люблю эту штуку, из-за нее курсор в игре не успевает за системным курсором(часто бесит в играх тормозные курсоры при низком fps, хотя бы опцию добавляли)... |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
OpenGL проблема с подсчетом FPS | AS10 | Мультимедиа в Delphi | 4 | 15.09.2009 21:17 |
Лимиты FPS? | VintProg | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 28 | 07.09.2009 21:49 |
Как улучшить fps ? | minatavr84 | Компьютерное железо | 2 | 26.03.2009 23:59 |
FPS Creator | SaiLight | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 12.01.2009 09:57 |
Почему кп показывает низкий fps??? | Samec_92 | Компьютерное железо | 11 | 18.12.2008 20:38 |