23. april 2002 - 21:10Der er
20 kommentarer og 1 løsning
Blink / Flimmer
Hey!
Har brygget et lille prog sammen der "aflæser" hvad der bliver skrevet til en i mIRC.
Bagefter skal det få et vindue til at poppe op (StayOnTop) i det ene hjørne fx når man spiller cs...
Det grundlæggende er klaret, mit problem er at mit vindue bliver opdateret sammen med OpenGL-vinduet, og sender fps ned på 12-14 :( Vinduets text bliver helt uæselig...
Kan se at WinAmp3 kan lave det nummer uden nogen større probs... Hvad kan jeg gøre?
Går ud fra at Winamp repainter sig selv med en selvstændig thread, men det er jeg ikke haj til... Ku oz være man kunne lade den nægte at repainte på en eller anden måde?
Har prøvet at fange WM_PAINT, og kun lade den repainte 2 gange hvert sec, men det ændrer ikke på noget.
Spørgsmålet går altså på at få en form (eller noget andet) til at ligge stabilt ovenpå et OpenGL(Fullscreen) "billede". Helst uden at sænke fps. Det ligger der kun et par secs.
har du prøvet at sætte, din form til DoubleBuffered. jeg har ingen idé om det har noget betydning, tror det ikke. ellers ved jeg sku ikke hvad jeg skal sige... opengl, ned tak :)
Jeg kan engang huske at jeg lavede en MediaPlayer, hvor på der skete en masse fancy ting i mit display, det fik min FPS til at dykke totalt selvom jeg kun benyttede Windows GDI'en som grafik kilde. Hvis du prøvede at lave dit program med OpenGL koder (altså alt det grafiske - selv tekst) så tror jeg at det kan løse problemet... Hvis du vil have hjælp omkring OpenGL koder, står jeg gerne tilrådighed...
Prøv at sende mig en skærmbillede (i et *.jpg format tak!!!) af din applikation. Så vil jeg hurtig lave et lille eksempel til dig med OpenGL, som du kan afprøve - for at se om det kan gøres på den måde. Ellers kan du besøge min hjemme side www.opengl-delphi.dk og læse lidt omkring brugen af OpenGL sammen med Delphi... min mail info@opengl-delphi.dk
har lige prøvet at køre det gamle, og så med cs i directX... Det virker fint bortset fra at fps kommer fra 20 ned til 6...
(Normalt vil jeg helst undgå at benytte directX da jeg støtter opensource) Og da de fleste af mine venne som jeg laver programmet til kun kører OpenGL (nVidia er bare bedst til OpenGL) ville det helt klart være bedst om det kunne bringes til at fungere i det.
Hey... Zero... En ting er at få den til at køre mens cs kører... Jeg er i øjeblikket på jagt efter noget der kan få den til at skrive text ud i min frustum...? Kan du hjælpe?
ja... dit prog virker, men når jeg kører cs, tager den bare min fps ned... Den lægger sig ikke ovenpå.
Tænkte på om noget andet er muligt... Kan man "gøre krav" på en del af cs's vindue? Man giver på et tidspunkt ogl en hWnd til ens eget vindue... Hvis man nu tager en hWnd til cs' vindue? Ved godt det lyder urealistisk... men igen: jeg kender ikke så meget til det...
Jeg har prøvet lidt forskelligt, men umiddelbart virker det som om, at CS ihærdigt prøver at gøre krav på, at få top-positionen af Windows Z-order og forhindre dermed andre applikationer i at kunne ses på skærmen mens CS køre. Jeg tror at CS gør dette af den ene grund, at hvis ikke CS's applikation hele tiden er aktiv og ligger øverst i z-orderen, vil en del af kommunikationen mellem spiller og CS muligvis svigte!!! Så hvis man enten kunne snyde CS til at tro at den hele tiden ligger øverst ville det måske være en løsning...
Grunden til at mit prog ikke ville opdatere ofte nok, var delphis lidt sløve kode... skrev det om til c++ og nu virker det :) Synes alligevel du skulle have dine point som tak for hjælpen.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.