2007-04-01

Znalazłem zamulacza

Tak, już wiem co mi tak zamula. Jest to funkcyjka SDL_GL_SwapBuffers. Choć niezupełnie, bo ona tak naprawdę z tego co wyczaiłem z źródeł SDL'a wywołuje glXSwapBuffers. Od razu mówię, że vsync jest wyłączony. Jeżeli przed SDL_GL_SwapBuffers wywołam glFinish to SDL_GL_SwapBuffers już nie zamula, tylko właśnie glFinish. Wniosek - bardzo możliwe, że gdzieś tam jest właśnie glFinish wywoływany, jego wykonanie zajmuje około 0.04 sekundy!!! Zastanawiam się przez to nad przejściem z SDL do GLFW, co jest naprawdę dobrym pomysłem chociażby dlatego, że GLFW jest malutki i zapewnia praktycznie same przydatne mi rzeczy bez zbędnych dodatków. Muszę sprawdzić ten mój kod z SDL'em jeszcze na Windowsie i ogólnie GLFW.

3 komentarz(y):

[14:51] <Anonymous Anonimowy>

Wyglada na to ze twoj framework zadaje duzo pracy karcie. Gdy wywolujesz funkcje zamieniajaca bufory lub funkcje ktora nakazuje karcie ukonczenia wszystkich operacji musisz liczyc sie z tym ze program zatrzyma sie na tej funkcji do mometu az karta przeliczy wszystko. Prawdopodobnie problem lezy w calkiem innym miejscu.

 
[17:34] <Blogger Queight>

Jak nic nie renderuje, tylko robie clear'a, flush'a i swap'a to mam około 53 klatek :/ Więc coś jest nie tak...

 
[19:39] <Anonymous Anonimowy>

zdecydowanie cos jest nie tak :)

 

Prześlij komentarz

« Główna