GameDev.ru
/ GameDev.ru / Пользователи / Andrey / Сообщения на форуме пользователя Andrey (52 стр.)

Сообщения на форуме пользователя Andrey (52 стр.)

Душегубъ (FPS, наш ответ Крайсису :)10 мая 201012:32#25
iLya2IK
> Он у меня и так вырублен.
как вырублен? 2 модели 2 кубика и 14 FPS ???? (ATI X1300)
>Надо будет перекомпилить в 2010 - как раз посмотрим, как они там в действительности улучшили производительность.
я думаю никак не улучшили :)
Душегубъ (FPS, наш ответ Крайсису :)9 мая 201017:26#19
iLya2IK
прикольно. Но чего такой FPS маленький? Delphi код убивает проц? :))) VSync отключи.
Как передать кол-во знаков после запятой в printf9 мая 20102:22#18
Конишуа
> Конечно, лучше получить не NUL-терминированную строку и упасть где-нибудь в
> другом месте.
решение в посте 15, причем простое :)
> А вот snprintf в отличие от _snprintf NUL-терминированность гарантирует.
это все хорошо, но вот Microsoft не хочет поддерживать C99 стандарт
Как передать кол-во знаков после запятой в printf8 мая 201015:38#15
Конишуа
> _snprintf абсолютно непригоден, потому что не гарантирует, что результат будет
> NUL-терменированный.
int num = snprintf(buf, sizeof(buf) - 1, ...);
buf[num] = '\0';
Зато не будет переполнения буфера, да и Саттер рекомендует ее. Никогда с переполнением не сталкивался? У меня было, в одном из проектов, где была написана система логирования использующая vsprintf вместо vsnprintf. Все глобальные переменные затерлись(а избавиться от них было на от момент не так просто и времени не было). Спасибо хватит.
снова gluUnProject8 мая 201015:23#17
d3v310p3r
> Опять же... Объектов много... Матрица вида ведь меняется для каждого объекта?
> Возьмем для примера сферу...
>
> glRotate(...);
> glTranslate(...);
> ExtractFrustum(); // Находит 6 плоскостей отсечения пирамиды
> glutSolidSphere(5.0,20,20);
>
> glRotate(...);
> glTranslate(...);
> ExtractFrustum(); // Получается функцию вызывать всегда перед
> рисованием, и после изменения матрицы?
> glutSolidSphere(5.0,20,20);
Каждый объект должен содержать ограничивающий объем
BoundingBox, BoundingSphere уже находящийся в мировых координатах. Тогда проверка с frustum будет корректной и считать его нужно 1 раз за кадр.
Как передать кол-во знаков после запятой в printf7 мая 201023:06#8
Sergio
рекомендую не использовать sprintf - замени на _snprintf
kvakvs
> Да всё выглядит верно, можно не тестировать, ну кроме того, что Visual C начнёт
> ворчать по поводу "sprintf is unsafe and is deprecated, use sprintf_s instead".
#define _CRT_SECURE_NO_DEPRECATE
снова gluUnProject7 мая 201023:01#8
d3v310p3r
> Спасибо, но я все равное не понял =( Со временем думаю дойду до этого сам
что тебе не понятно?
Иерархические структуры данных позволяют подойти к проблеме выбора/поиска посредством работы с группой объектов, а не с единицей.
Код написанный Loxx45, как раз выполняет эту задачу он вполне понятный. Я бы конечно цикл по дочерним развернул в целях оптимизации, ну это уже другое.
Глобальные переменные6 мая 201017:13#54
Z
> Про перформанс - случайно затолкали мъ такое в какой-то код, которъй вдруг потом начали възъвать довольно часто (примерно какой-то флаг, режим рендера, >етц.) - начинают наползать всякие LHS, одна тъсяча за другой - и все ето из-за стиля кодинга.
Объясни пожалуйста что такое LHS ?
Кол.во источников света в кадре6 мая 201016:06#92
innuendo
с размером 4.0 размер окна по умолчанию
1 - 260 FPS
2 - 126 FPS
3 -  85 FPS
4 -  61 FPS
5 - 59 FPS
6 - 40 FPS
7 - 35 FPS
8 - 30 FPS
почти FULL Screen
1 - 72 FPS
2 - 36 FPS
3 -  24 FPS
4 -  18 FPS
5 - 14 FPS
6 - 12 FPS
7 - 10 FPS
8 - 9 FPS
В Fill Rate все упирается. Чайник на весь экран.
Кол.во источников света в кадре6 мая 201015:30#90
innuendo
> размер в glutSolidSphere
СКОЛЬКО ты поставил ??. сразу чего не написал
как fullScreen в glut включить? не делал не разу это.
Кол.во источников света в кадре6 мая 201015:06#88
innuendo
> ещё раз это у тебя на fullscreen или default ?
на default.
как чайник близко ты к экрану придвинул?
Кол.во источников света в кадре6 мая 201014:25#84
Outlaw
щас разберемся :)
Кол.во источников света в кадре6 мая 201014:24#83
innuendo
> ты делал ресайз на fullscren ? или по дефаулту ?
по дефаулту.
в старой версии чайник близко к экрану как раз в Fill Rate упирается, давай кусок кода где это поправлено. я отключил VSync 200 FPS  - 8 источников.
Кол.во источников света в кадре6 мая 201014:15#79
может для начала Vsync отрубить?
innuendo
а исходники демки есть?дай ссылку самому интересно стало, наверное из SDK 9.5 это.
Вопрос про OpenGL и потоки.6 мая 201011:33#9
Burz666
Опиши проблему подробнее и с куском кода. У меня все в отдельном потоке рисуется без проблем.
Расскажу про некоторые нюансы.
При входе в функцию потока контекст должен быть текущим в этом потоке(wglMakeCurrent) и именно только  этом!!!. Он может быть расшарен с другими через wglShareList(но это вообще не нужно практически). Попытка вызовов glBind* функций в разных потоках приводит к ub. Ибо в этом API что-бы что-то сделать с ресурсом, его нужно сделать "текущим" функциями glBind*, в отличие от Direct3D API, где работа с изменением данных ресурса не связана с тем что он должен быть текущим для использования.
Проверяй вызовы всех функций wgl* на ошибки.

Следующие темы >>

2001—2012 © GameDev.ru — Разработка игр