Spektrogram w OpenGL z wykrzystaniem tekstur

0

Witam
Chciałem zrobić spektrogram tak aby mógł obsłużyć dowolną liczbę danych w dziedzinie częstotliwości (np do 50tys pkt), a kolejne linie danych będą generowane co 5ms. Zrobiłem to w taki sposób, zę tworzę sobie bitmapę a następnie ładuję ją do tekstury i wyświetlam. Problem w tym że działa to bardzo wolno i zajmuje 100% procesora. Wiążą się z tym moje pytania:

  1. Czy to podejście z bitmapą jest ok, czy OGL oferuje jakieś inne mechanizmy o których jeszcze nic nie wiem bo dopiero zaczynam uczyć sie OGLa?
  2. Czy obecnie tekstury muszą być koniecznie rozmiarów potęgi liczby 2, czy może już się coś zmieniło( karta na której testuje spektrogram ma już ok 8lat i wszystko działa nawet gdy rozmiary nie są potęgą 2)
  3. Czy można jakoś przyśpieszyć generację i wyświetlanie tekstur bez korzystania z VBO?(bo wykorzystuję listy wyświetlania i wyświetlanie tablic)
0

Rysowanie co 5 ms - jeżeli tak robisz - jest moim zdaniem marnotrastwem, powinno wystarczyć 30 razy na sekundę, może mniej. Warto też zadbać żeby ekran był przerysowywany tylko wtedy gdy jest potrzeba - są nowe dane lub system operacyjny zgłasza że okno wymaga odrysowania, dzięki temu zużycie procesora będzie zerowe w stanie spoczynku.
Efektywniejsze od generowania bitmapy będzie też bezpośrednie złożenie wykresu z prymitywów - OpenGL to nie tylko 3D.

0

Tylko mi nie chodzi o wykres, bo to juz zrobiłem z prymitywów, ale o spektrogram. Nie musi być 3D, wystarczy 2D (czyli zwykły obraz) tylko szybki. I nie mogę pominąć żadnych danych w tym przypadku, wszystkie muszą być wyświetlone.

1 użytkowników online, w tym zalogowanych: 0, gości: 1