2017-02-27 93 views
6

Ostatnio próbowałem skompilować moje statyczne biblioteki Qt z -no-angle i -no-opengl. Najpierw myślałem, że to się nie skompiluje. Ale nieoczekiwanie, Qt (5.7) skompilowane dobrze. Mogę również skompilować moją aplikację (używając wielu QtWidget).Co stanie się, gdy Qt zostanie skompilowany bez funkcji no-angle i -no-opengl?

Ku mojemu zaskoczeniu nie widziałem żadnej różnicy w mojej aplikacji Qt opartej na kącie. Bez opóźnień, żadnych zakłóceń, moje QtCharts wyświetlały się jak zawsze.

Nie mogę znaleźć żadnej ostatecznej odpowiedzi w Internecie. ale mam dwa domysły:

  • W rzeczywistości nie stosowałem żadnego akceleracji sprzętowej.
  • Istnieje tajemniczy mechanizm awaryjny.

Co się tutaj dzieje?

Odpowiedz

6

Co się dzieje? W twoim przypadku nic. Widżety Qt nie używają OpenGL za plecami. Musisz wyraźnie wymusić jego użycie w danym stosie widgetów, używając widgetu najwyższego poziomu jako QOpenGlWidget. Domyślnie używasz zaplecza renderowania rastrowego opartego na procesorze - jak zauważyłeś, działa całkiem nieźle.

Kompilowanie Qt bez kąta i obsługa OpenGL to dobry sposób na zmniejszenie aplikacji, jeśli nie korzystasz z OpenGL :)