По стейтам до сих пор приложения не совпадают...
glFlush() glFinish( ) wglSwapBuffers( 0x39011CE0)
Отлично!
Executor
Ok. Что у себя надо выставить, чтобы получить его стейты ?
Это конечно не относится к текущему вопросу, но все же:
- GL версии как-то странно уходят в FullScreen сильно сьезжая вниз(это уже на WinXP)
- DX версия вылетает после Win+L
Ну в его варианте нет например вот этого:
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST) glDepthFunc( GL_LEQUAL) // тест глубины отключен, так что поидее не важно glEnable( GL_COLOR_MATERIAL)
И убери вот это:
glFlush() glFinish( ) wglSwapBuffers( 0x39011CE0)
Это сильно просаживает производительность...
Andru, отлично
Всегда думал, что мой движок идеальный, а как показывает практика - куча багов в рендере. Причём невидимых!
Отлично, что есть сейчас возможность протестировать на нескольких машинах, вам, ребята, за это спасибо.
Теперь осталось, узнать, в чём проблема.
Executor
Так? [file=48230]
С последней демкой FPS на GeForce 9500GT - ~765, в старых был ~735 :)
Провёл тест на своём приложении:
1)
SwapBuffers(hDC);
2)
glFlush();
SwapBuffers(hDC);
3)
glFinish();
SwapBuffers(hDC);
4)
glFlush();
glFinish();
SwapBuffers(hDC);
FPS:
1) 420
2) 415
3) 370
4) 355
Так сказать подкрепить мои слова практикой и реальными цифрами...
DevilDevil
> Так? GL
Так... (Стейты не сравнивал)
1500 FPS твоё приложение
1180 FPS eXgine
Executor
Ого! Моё приложение по FPS-ам обгоняет прогеровское!
Надо, чтобы он у себя посмотрел.
Ёще разочек:
eXgine: ex_demo
Мой: [file=48230]
Мой VBO: [file=48232]
Andru
Сделай скриншот на FullScreen. Просто нажми PrintScreen
DevilDevil
> eXgine: ex_demo
> Мой: GL
Также как было...
> Мой VBO: GL_VBO
970 FPS
Executor
Вообще, этот пример неправильный. Но нужно сравнить соответствие с FPS без VBO [file=48236]
Andru
Широкоформатник. Я эту фичу ещё не тестировал )
>> Широкоформатник. Я эту фичу ещё не тестировал )
Просто DX версия работает нормально :)
DevilDevil
> Вообще, этот пример неправильный. Но нужно сравнить соответствие с FPS без VBO
> GL_noswapcolors
950 FPS
Executor
почему VBO может так тормозить ?
DevilDevil
Дело в том, что VBO не дает прирост на маленьком количестве квадов, и дороже получается в видеокарту заливать данные и оттуда рисовать, нежели сразу вызывать рендер. Во флейме как-то был спор на этот счет, и в нем участвовал XProger )
Тема в архиве.