Avatar billede mindplay Nybegynder
26. april 2007 - 11:29

Flash Player med høj framerate og VSYNC

Jeg har ikke selv meget forstand på C++, men har dog mange års erfaring med andre programmeringssprog, herunder bl.a. Delphi og VB.

Jeg står og skal bruge Flash afspilleren til et informations-display, men har opdaget, at Windows versionen af Flash afspilleren ikke synkroniserer rendering af billederne til skærmens opdaterings-frekvens - dette resulterer i "tearing" og tab af frames, hvilket er meget synligt, da der bl.a. findes en rulletekst på display'et .. det flimrer og hakker, og efter at have talt med Adobe er konklusionen, at sådan er Flash afspilleren desværre bare indrettet.

Jeg har søgt lidt rundt, og har fundet følgende artikel:

http://www.codeguru.com/cpp/com-tech/activex/com/article.php/c12229/

Denne artikel demonstrerer hvordan man kan få Flash afspilleren til at rendere udenfor skærmen. (den del af eksemplet hvor de også får den til at rendere gennemsigtigt på skrivebordet, er ikke interessant)

Derefter fandt jeg flg. artikel:

http://www.codeproject.com/gdi/tearingfreedrawing.asp

Denne demonstrerer at man godt kan lave 100% flydende skærmopdatering under GDI i Windows, ved brug af en højtopløselig timer og VSYNC via DirectX.

Er der nogen der har eftering nok med GDI og OCX til at sige, om det ville være muligt at kombinere disse to eksempler, og dermed implementere en Flash afspiller med ordentlig synkronisering?

Og i så fald, hvorvidt det kan lade sig gøre at styre hvornår Flash afspilleren renderer en frame?

Ud over, at der ikke er nogen form for synkronisering i Flash afspilleren, ser det nemlig ud som om at den bruger almindelig Windows timere, der som bekendt er meget unøjagtige - hvilket resulterer i en praktisk framerate der afviger med +/- 2 frames per sekund ... det er således ikke umiddelbart muligt at ramme 60 frames per sekund, og spørgsmålet om hvorvidt man kan bede Flash afspilleren om at renderer næste frame øjeblikkeligt, er derfor vigtigt...

Tak!
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester