GLX Fenster sehr langsam
lima-city → Forum → Programmiersprachen → C/C++ und D
anwendung
aufwendige spiele
buffer
code
double
einstellung
erstellen
fehler
fenster
grafikkarte
laufen
liegen
modus
performance
programm
sache
single
spiel
treiber
url
-
Ich hab mit GLX bzw. mit der XLib ein Fenster erstellt in das ich sachen rendere. Das Fenster ist aber ziemlich langsam und algemein verlangsamt es die Maus und andere Fenstere. Woran könnte es liegen? Rendern kann ich übrigens schon in dieses Fenster.
Hier der Code den ich mir aus einem NeHe Tutorial zusammengebastelt hab mit dem das Fenster erstellt wird:
bool CreateWindow(unsigned int swidth, unsigned int sheight, const char * title, bool fullscreen) { width = swidth; height = sheight; dpy = XOpenDisplay(0); if (dpy == false) { return false; } screen = DefaultScreen(dpy); vInfo = glXChooseVisual(dpy, screen, EngineAttributeListDoubleBuffer); if (vInfo == false) { printf("Fehler: Keine Double Buffer Einstellungen vorhanden\n\tNutze Single Buffer\n"); vInfo = glXChooseVisual(dpy, screen, EngineAttributeListSingleBuffer); } context = glXCreateContext(dpy, vInfo, 0, true); swa.colormap = XCreateColormap(dpy, RootWindow(dpy, (*vInfo).screen), (*vInfo).visual, AllocNone); swa.border_pixel = 0; swa.event_mask = ExposureMask | KeyPressMask | KeyReleaseMask | ButtonPressMask | StructureNotifyMask; win = XCreateWindow(dpy, RootWindow(dpy, (*vInfo).screen), 0, 0, width, height, 0, (*vInfo).depth, InputOutput, (*vInfo).visual, CWBorderPixel | CWColormap | CWEventMask, &swa); wmDelete = XInternAtom(dpy, "WM_DELETE_WINDOW", true); XSetWMProtocols(dpy, win, &wmDelete, 1); XSetStandardProperties(dpy, win, title, title, 0, 0, 0, 0); XMapRaised(dpy, win); glXMakeCurrent(dpy, win, context); return true; }
Variablen die ihr jetzt nicht deklariert sieht sind aus einer Klasse. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Laufen denn andere 3D Anwendungen flott? Welche Grafikkarte und welchen Treiber benutzt du?
Was für eine Performance wird bei dem Programm
glxgears
ausgegeben?
Und ergibt sich ein Geschwindigkeitsunterschied, wenn du es im Fullscreen-Modus laufen lässt?
Beitrag zuletzt geändert: 20.5.2011 23:37:08 von bladehunter -
bladehunter schrieb:
Laufen denn andere 3D Anwendungen flott? Welche Grafikkarte und welchen Treiber benutzt du?
Was für eine Performance wird bei dem Programm
glxgears
ausgegeben?
Und ergibt sich ein Geschwindigkeitsunterschied, wenn du es im Fullscreen-Modus laufen lässt?
Am Treiber oder der Graka kann es garantiert nicht liegen. Ich verwende unter Ubuntu Unity was schon mal die Graka belastet und das läuft ohne laggis und ich spiele öfters aufwendige Spiele. Auch habe ich vor einigen Monaten einen ähnlichen Code verwendet um ein Fenster für OpenGL zu erstellen und damals hat es prima funktioniert (der code ist aber verschwunden...) nur anscheinend mach ich jetzt was falsch.
Edit:
Anscheinend liegt es nicht am dem geposteten Code sondern das Fenster wird erst langsam sobald ich "glXSwapBuffers" ausführe.
Beitrag zuletzt geändert: 21.5.2011 22:10:36 von krisi12345 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage