mboost-dp1

OpenGL, Windows Forms og event queue


Gå til bund
Gravatar #1 - Benjamin Krogh
2. jan. 2009 19:17
Jeg sidder med en OpenGL applikation der skal rendere et tungere billede (og smide antialiasing på etc.), samtidigt vil jeg gerne tillade user input, dvs. at hvis en bruger trykker på en knap eller klikker med musen skal min applikation reagere på det.

Windows Forms er lavet så smart at det kun er tråden der har lavet formen der kan tilgå den, og da renderingen foregår i tråden der også håndterer events kommer der ikke rigtigt nogle opdateringer.

Hvad der kunne være pisse smart var hvis jeg kunne tilgå keyboard og mus direkte og bare teste for det undervejs i renderingen, så hvis der er kommet ændringer hurtigtst muligt præsentere hvad jeg har og så returnere.

Alternativt kunne man tilgå event queuen hvis man kan finde ud af det (jeg kan ikke). Hvis nogle har en måde at gøre dette på er jeg også meget interesseret.

Application.DoEvents var en mulighed, hvis ikke jeg havde flere forms på samme tid. Så det kan heller ikke rigtigt lade sig gøre ad den vej.

På alle mine forms kører et event loop via Application.Run(form).

Jeg bruger C# 2.0 (kan skifte til 3.5 hvis der er en løsning der), windows forms og Tao.OpenGL.

Håber at nogen kan komme med en løsning på mit problem. Verden har i forvejen rigeligt med uresponsive applikationer, ingen grund til at lave en mere hvis det kan undgåes ;)

Jeg udlodder en Chokoladebar efter eget valg for virkende løsning (dvs. en løsning der er tilgængelig uden at skulle skrive 200 linier). :)
Gravatar #2 - Benjamin Krogh
2. jan. 2009 19:35
Jeg tror de to følgende links redder mig:
http://blogs.msdn.com/toub/archive/2006/05/03/5894...
http://blogs.msdn.com/toub/archive/2006/05/03/5894...

Mærkeligt at lede efter en løsning i en uge og så finde den 10 min efter man spørger om hjælp :)

Well, nu ser vi.
Gravatar #3 - Benjamin Krogh
2. jan. 2009 19:56
Og det lykkedes. :)

Smukt. Det tog ca. 10 min at implementere og en lille uge at finde. Typisk.

God aften til alle der har brugt tid her.
Gravatar #4 - vandfarve
2. jan. 2009 20:33
Selv tak!

Jeg skulle ellers lige til at komme med et svar... NOT!

[Der tages forbehold for alt og og særligt personer, der endnu ikke har følt sig presset grundet eksamenssituationer]
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login