Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb voor een project op school een flash animatie gemaakt, waarmee ik de reactietijd van iemand kan meten. De waardes die Flash genereert (de tijden) worden door middel van PHP in een MySQL-database gestopt. Tot zover gaat alles goed.

Nu heb ik via Flash de publish optie gebruikt (deze genereert automagisch de HTML). Als ik dan vervolgens de test uitvoer in Firefox, krijg ik fatsoenlijke waardes. (dwz waardes ~ 250 msec) Als ik dezelfde website open in Internet Explorer (ook in Chrome btw), dan krijg ik compleet andere waardes. (~ 30msec) :'( Ik heb al gezocht op het internet, maar ik heb niets gevonden over een soortgelijk probleem. Nu weet ik echter niet of het aan de Flash ligt of aan de browser, en hoe ik dit moet oplossen. Ik hoop dat jullie het antwoord hebben op mijn vraag.

Link naar de website (zodat je het zelf kunt proberen): Klik

Acties:
  • 0 Henk 'm!

Verwijderd

Ik heb zonet 12msec gehaald in firefox...

Acties:
  • 0 Henk 'm!

  • Thomzh
  • Registratie: Oktober 2007
  • Laatst online: 17-11-2024
Ik haalde gemiddeld 301 in Fx.

Acties:
  • 0 Henk 'm!

Verwijderd

Jouw reactietijd is: 223ms
Druk op de pijl voor de volgende test.
Met Firefox

[ Voor 8% gewijzigd door Verwijderd op 11-01-2010 16:51 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Ditmaal zelfs 2x 11 msec in FF3.5.7 op mac

Acties:
  • 0 Henk 'm!

  • enchion
  • Registratie: Februari 2002
  • Niet online
Gemiddeld 84ms met Opera
En 226ms met Firefox

Kwitter is psychic , hoeveel vingers steek ik op ?? :P

[ Voor 39% gewijzigd door enchion op 11-01-2010 17:03 ]

How do you save a random generator ?


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 13-09 15:32

Sebazzz

3dp

Rond de 250 ms met Firefox. Wat zijn de resultaten als je je Flash dingetje standalone uitvoert?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • frumper
  • Registratie: Februari 2008
  • Laatst online: 12-09 16:41
gooi die testresultaten maar in de prullebak....

35 32 VWO Man 239 216 204 202 182 209 -> FF3.5.7
38 32 VWO Man 12 11 11 11 12 11 -> IE7

en nee, mijn reactietijd wijkt echt niet in één keer af...
11ms is wel héél snel trouwens... dus ik weet niet welke waardes reëel zijn

Life is what happens while you're busy making other plans


Acties:
  • 0 Henk 'm!

Verwijderd

23 ms gem. onder IE....

Raar probleem...lijkt me aan de flash-plugin voor browsers te liggen? Flash-bestand is hetzelfde, browser heeft eigenlijk verder niks met flash te maken als ie eenmaal getoond wordt, of wordt er nog iets met HTML gedaan? Wat voor tijden krijg je als je de flash-movie gewoon standalone afspeelt?

Acties:
  • 0 Henk 'm!

Verwijderd

11ms kan niet eens (tenzij je het heel vaak speelt, dan kan je ook wel 1ms of 0ms halen). Ten eerste is de reactietijd van de mens (ogen naar hersenen, hersenen naar spieren?) wel meer dan 200ms. Ten tweede kan je dit beter maken in javascript denk ik, dat een stuk betrouwbaarder is. Hier zijn genoeg voorbeelden voor te vinden.

@enchion: Ik weet dat onder linux je muis/toetsenbord kan focussen binnen flash, dus dat de spatiebalk niks binnen de browser beinvloedt. Dit zal ook wel voor macos/windows gelden.

[ Voor 21% gewijzigd door Verwijderd op 11-01-2010 17:20 ]


Acties:
  • 0 Henk 'm!

  • enchion
  • Registratie: Februari 2002
  • Niet online
Hij runt trouwens niet goed standalone (in MPC) vanwege het gebruik van de spatiebalk , daar komen ook die 0ms resultaten vandaan , misschien andere knop gebruiken (een of andere letter die geen andere functie heeft binnen de browser).
Misschien geven Opera en IE prioriteit aan flash objecten en Firefox aan user input (keyboard,muis).

Buiten het feit dat het kan liggen aan hoe de browser in de cache kijkt op disk of in het geheugen.

[ Voor 14% gewijzigd door enchion op 11-01-2010 17:20 ]

How do you save a random generator ?


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 00:33

MueR

Admin Tweakers Discord

is niet lief

Zullen we ons even concentreren op het probleem van TS? Alleen maar posten hoe snel je bent voegt niks toe.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Gewoon stand-alone krijg ik dezelfde waardes als in Firefox, vandaar ook dat ik dit vreemd vind. IE/Chrome/Opera doen dus iets waardoor er afwijkende resultaten optreden.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

De waardes zoals je ze berekent kloppen uberhaupt niet. 10msec is echt onmogelijk. Het feit dat je in standalone 0 msec krijgt zegt ook al genoeg wat dat betreft :+

Post eens hoe je nu aan die reactietijd komt.

[ Voor 44% gewijzigd door Bosmonster op 11-01-2010 17:51 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Standalone krijg ik helemaal geen 0 msec, dat heb ik nergens gezegt. Standalone krijg ik gewoon acceptabele waardes tussen 200 en 300 msec.

Zo gauw je op start drukt gaat er een timer lopen, die loopt tot een random waarde. Als deze random waarde verstreken is, springt het lampje op groen (zodat je niet kunt anticiperen). Als het lampje op groen springt gaat er een andere timer lopen, die de tijd meet hoe lang je erover doet om op een knop te duwen.

Acties:
  • 0 Henk 'm!

  • AFR
  • Registratie: Juni 2001
  • Niet online

AFR

Een tijd terug heb ik voor een wetenschappelijk onderzoek een soortgelijk systeem gemaakt en kwam er toen achter dat dit nog niet zo eenvoudig is door een aantal vertragingen in het systeem die je eerst moet kennen zoals:
  1. vertraging van muis/keyboard: worden waarden direct doorgestuurd, op periodieke tijdstippen gesampled of misschien zelfs gebufferd.
  2. videopbouw: wordt het flash scherm direct getekend op het moment dat je dit vraagt, of moet er nog worden gewacht op een volgend refresh moment.
  3. videoprocessing in de monitor: wordt het beeld direct geupdate of zit er nog een vertraging in het systeem (dit is de reden dat er in de psychologie bij dit soort testen vaak gebruik wordt gemaakt van CRT monitoren).
Punt 1 en 3 zijn afhankelijk van je systeem en zorgen gemiddeld - bij voldoende metingen - voor een constante afwijking. Je kunt daardoor metingen alleen betrouwbaar vergelijken als deze op exact hetzelfde systeem zijn uitgevoerd. Als je de meting toch op verschillende computers wilt uitvoeren (over internet) zul je deze meetonnauwkeurigheid moeten accepteren. Geen probleem wanneer je alleen in ordegrootte bent geinteresseerd.

Punt 2 kun je wel aanpassen in de software, maar is niet triviaal. Behalve dat je de framerate van je flash applicatie waarschijnlijk gelijk maken aan die van je monitor en flashplayer wil je je meting waarschijnlijk ook synchroniseren met het moment dat je scherm werkelijk wordt getekend en niet wanneer het in software wordt klaargezet.
Het verschil in opbouw verklaart waarschijnlijk de verschillen tussen IE en Firefox.

Ik weet niet op basis van welke events je je programma nu hebt geprogrammeerd, maar je zou kunnen proberen om je events global te maken zodat deze direct worden gedetecteerd en er niet hoeft te worden gewacht tot een component focus krijgt. Gebruik bijvoorbeeld onClipEvent(keyUp) in plaats van onKeyUp.

PS. Om van al deze ellende af te zijn gebruikt men in de wetenschap vaak externe meetapparaatjes. In mijn onderzoek werden er zelfs lichtsensoren op het beeldscherm geplaatst en het toetsenbord door losse knoppen vervangen (zie Rovers, Feijs, 2009)

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

AFR schreef op maandag 11 januari 2010 @ 17:57:

Het verschil in opbouw verklaart waarschijnlijk de verschillen tussen IE en Firefox.
Nou dat vind ik sterk, aangezien 10msec gewoon een onrealistisch laag getal is. Daar ligt een ander probleem aan ten grondslag (wat wel de timer moet zijn die TS gebruikt, afronding, etc).

Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
ik heb hier ff snel iets in elkaar geflanst op IE in ieder geval dezelfde waarden genereerd. maar wat hierboven gezegd wordt is waardevoller :)

Acties:
  • 0 Henk 'm!

Verwijderd

Mijn 11 msecs heb ik gehaald op mac met extern bluetooth toetsenbordje... Lijkt me inderdaad een zeer sterk getal (onrealistisch) maar komt er toch telkemaal op.

Heb nu ook vlug even in safari getest: 13 msec gehaalt...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bosmonster schreef op maandag 11 januari 2010 @ 18:00:
[...]


Nou dat vind ik sterk, aangezien 10msec gewoon een onrealistisch laag getal is. Daar ligt een ander probleem aan ten grondslag (wat wel de timer moet zijn die TS gebruikt, afronding, etc).
Maar hoe kan dit verschil ontstaan als beide browsers gebruik maken van dezelfde swf? Het ligt dus zeker niet aan afronding en de timer, aangezien deze vastliggen in de swf. Het ligt dus waarschijnlijk aan de inputafhandeling van beide browsers. (denk ik 8)7 )

btw. Iedereen die post dat de waardes onrealistisch zijn: dat was me duidelijk :D Vandaar dat ik hier ook vraag waar dit door veroorzaakt wordt.

@AFR: ik weet dat deze manier van testen niet de beste resultaten oplevert. Het is echter geen écht onderzoek; het is slechts een profielwerkstuk. Maar ik zal de punten die je opgenoemd hebt zeker meenemen in het eindverslag ;)

[ Voor 24% gewijzigd door Verwijderd op 11-01-2010 18:13 ]


Acties:
  • 0 Henk 'm!

  • AFR
  • Registratie: Juni 2001
  • Niet online

AFR

Bosmonster schreef op maandag 11 januari 2010 @ 18:00:
[...]
Nou dat vind ik sterk, aangezien 10msec gewoon een onrealistisch laag getal is. Daar ligt een ander probleem aan ten grondslag (wat wel de timer moet zijn die TS gebruikt, afronding, etc).
Het is idd erg vreemd en ik zou direct "programmeerfout" roepen wanneer het zowel in FF als IE voorkwam. Nu tijfel ik aangezien je de lage meetwaarde ook kunt verkrijgen wanneer de timer pas wordt gestart na schermopbouw en er tevens een lage framerate is gebruikt + gebruik wordt gemaakt van locale events.
Daarom lijkt het me ook belangrijk om iets meer details te horen. Met name de gebruikte events en de implementatie van de meettimer lijken me erg interessant.

Acties:
  • 0 Henk 'm!

  • AFR
  • Registratie: Juni 2001
  • Niet online

AFR

Verwijderd schreef op maandag 11 januari 2010 @ 18:05:
@AFR: ik weet dat deze manier van testen niet de beste resultaten oplevert. Het is echter geen écht onderzoek; het is slechts een profielwerkstuk. Maar ik zal de punten die je opgenoemd hebt zeker meenemen in het eindverslag ;)
Zolang je je bewust bent van waar je onnauwkeurigheid zit lijkt me dit prima!
Voordat je je code gaat ombouwen ben ik wel benieuwd wat er gebeurt op het moment dat je de framerate in je applicatie verhoogt (>60fps). Indien de fout wordt veroorzaakt door frame synchronisatie zou je dit direct terug moeten zin in de nieuwe meetresultaten...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De fps staat al ingesteld op 100 :P Dit om de volgende reden: Wanneer ik lager ga, dan veranderd de reactietijd. Ik meende ergens gelezen te hebben, dat het aantal ticks dat de timer maakt, is ingesteld op 10 per frame. 10x100=1000, dus precies op de msec nauwkeurig. (Wellicht zit hier ergens een blunder?)

Wat bedoel je precies met framesynchronisatie?

Acties:
  • 0 Henk 'm!

  • Spinal
  • Registratie: Februari 2001
  • Laatst online: 08-09 14:12
Verwijderd schreef op maandag 11 januari 2010 @ 17:13:
11ms kan niet eens (tenzij je het heel vaak speelt, dan kan je ook wel 1ms of 0ms halen). Ten eerste is de reactietijd van de mens (ogen naar hersenen, hersenen naar spieren?) wel meer dan 200ms. Ten tweede kan je dit beter maken in javascript denk ik, dat een stuk betrouwbaarder is. Hier zijn genoeg voorbeelden voor te vinden.

@enchion: Ik weet dat onder linux je muis/toetsenbord kan focussen binnen flash, dus dat de spatiebalk niks binnen de browser beinvloedt. Dit zal ook wel voor macos/windows gelden.
200ms is 1/5e seconde, dat lijkt me behoorlijk veel.
Ik haal hier onder IE8 gemiddeld 17 en onder Opera 10.2 gemiddeld 114ms, dat klinkt lijkt mij als een vrij realistisch getal.

Full-stack webdeveloper in Groningen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb iets gevonden! http://www.flashandmath.com/howtos/rate/
Hier zie je dat de frame rates tussen de verschillende browsers erg verschillen. Firefox is hierin heer en meester. Ik ga nu proberen het aantal frames per seconde van mijn flash naar beneden te brengen tot ongeveer 50fps. Nu eens kijken of dat wat uithaalt.

Acties:
  • 0 Henk 'm!

  • Brilsmurfffje
  • Registratie: December 2007
  • Niet online

Brilsmurfffje

Parttime Prutser

je kan ook eerst vragen welke browser gebruikt word en dan de voor de browser geschikte flash aplicatie laden, of zeggen dat je met deze browser niet mee kan doen met de test

[ Voor 0% gewijzigd door Brilsmurfffje op 11-01-2010 19:50 . Reden: typo ]


Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12-09 13:36
Test inderdaad eens met javascript, eventueel met een doorlopende timer en kijk eens wat de verschillen zijn. Ik zou niet een timer starten op moment dat je gaat meten, ik zou een timer laten doorlopen en het verschil meten. Een timer starten is een actie, wellicht intensiever dan op een bepaald moment gewoon het verschil in tijd meten.

http://www.jv-s.com/FirstWeb/JavaScript/JSAssignment6.html
Allerlei simpele voorbeeldjes in javascript zijn beschikbaar. Verder wordt javascript door elke browser geoptimaliseerd dus wellicht kan je een standaard afwijking per browser ontdekken.

Kan je niet meten op basis van tijdstip? Dus met de klok in plaats van met een timer?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
djluc schreef op maandag 11 januari 2010 @ 20:18:
Kan je niet meten op basis van tijdstip? Dus met de klok in plaats van met een timer?
Dat maar eens geprobeerd: Works like a charm _/-\o_

Dus nu heb in plaats van een Timer() een Date(); Dat ik daar zelf niet op kwam :X
Heel erg bedankt voor alle hulp, alhoewel ik het nog steeds vreemd vind dat een Timer niet vlekkeloos werkt.

Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
Ik weet niet of je in AS2 of AS3 werkt, maar flash.utils.getTimer is voor het meten van onbepaalde tijd het beste:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.KeyboardEvent;
    import flash.events.MouseEvent;
    import flash.events.TimerEvent;
    import flash.text.TextField;
    import flash.utils.Timer;
    import flash.utils.getTimer;
    /**
     * ...
     * @author Genoil
     */
    public class Main extends Sprite 
    {
        private var s:Number;
        
        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }
        
        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            stage.addEventListener(MouseEvent.MOUSE_UP, start, false, 0, true);
            stage.frameRate = 999;
        }
        
        private function start(e:MouseEvent):void 
        {
            var t:Timer = new Timer(int(1000 + Math.random() * 3000), 1);
            t.addEventListener(TimerEvent.TIMER_COMPLETE, showThing);
            t.start();
        }
        
        private function showThing(e:TimerEvent):void 
        {
            this.graphics.beginFill(0xFF0000);
            this.graphics.drawRect(0, 0, stage.stageWidth, stage.stageHeight);
            this.graphics.endFill();
            
            stage.addEventListener(KeyboardEvent.KEY_DOWN, react);
            s = getTimer();
        }
        
        private function react(e:KeyboardEvent):void {
            var t:Number  = getTimer() - s;
            var tf:TextField = new TextField();
            tf.text = String(t);
            addChild(tf);
        }
        
    }
}


Dit produceert ook op IE en FF dezelfde waarden. flash.utils.Timer heeft "last" van de event queue waardoor de verschillen ontstaan.

Acties:
  • 0 Henk 'm!

  • Bartaz
  • Registratie: Mei 2007
  • Laatst online: 13-09 07:59

Bartaz

Likes cookies!

Jouw tijden:
Tijd 1: 275
Tijd 2: 260
Tijd 3: 235
Tijd 4: 232
Tijd 5: 252
Gemiddelde: 251

Firefox. Gaat toch allemaal goed?!
Pagina: 1