Italian Comportamento incomprensibile (Timer / Sender)

Caro LucaMs lasciati dire che sei eroico! Ancora alla tastiera a quell'ora :)
Per quanto riguarda il tuo codice purtroppo ho bisogno di un po' di tempo per capire la ragione per la quale non vedo assolutamente nulla. Lo schermo resta grigio e non succede nulla.
Vedrò di lavorarci e poi ti dirò. Oggi pomeriggio ci lavoro perchè la mattina mi tocca occuparmi della casa :(
Per il momento devi accontentarti dei ringraziamenti a proposito dei quali, in passato, ho visto far riferimento ai likes che però non riesco a capire come attribuire. Saresti tanto gentile da spiegarmi anche questo? Così lo aggiungiamo alle ragioni dei likes stessi :):)
 
Contrariamente alle previsioni ho scoperto che un problema è che il programma non esce mai dal loop
Dim Indice As Int = Rnd(0, Labels.Length)
Do Until Labels(Indice) <> LabelCorrente
Indice = Rnd(0, Labels.Length)
Loop
disabilitando questo loop le label compaiono ma la label con lo stimolo è sempre l'ultima mentre il conteggio delle selezioni esatte funziona (se clicco sull'ultima il conteggio evolve).
Credo ci sia qualche cosa che non va nell'attribuzione della "LabelCorrente" in quanto anche forzando il suo valore ad es. = 3 invece che ad "indice" la label con stimolo resta comunque l'ultima. Altra cosa che non mi è chiara è la macchinosità di "mIntervallo = 400 + Rnd(1, 12) * 100" invece di un semplice "mIntervallo = Rnd(500, 1500)" ma sarò certamente io "de coccio"....
 
L'approccio che hai usato non è corretto ed è eccessivamente complicato. Mi sembra di aver visto anche qualche errore quando assegni l'immagine di background nelle label.

Prova questo.
 

Attachments

Last edited:
Caro Star-Dust ti ringrazio molto. Il tuo codice funziona decisamente meglio ma ha sempre un problema che avevo osservato io e cioè che se clicco verso la coda del tempo di validità dello stimolo il conteggio non avviene. Questo significa che al di sotto di una certa durata dello stimolo (nel tuo caso "Sleep(duratatimer -50)" il conteggio non avviene. Direi che questo problema si manifesta a aprtire dai 200-300 msec in giù mentre per durate di stimolo maggiori si nota che cliccando verso la coda si perdono conteggi. Ho fatto una prova rendendo fissa la label in modo da poterla cliccare facilmente.
Se io imposto un delta non di 50 ma di 600 o 500 x avere un tempo di validità dello stimolo di 200-300msec con la tua duratatimer fissata a 800 (ma si vede meglio con duratatimer = 800 o tempi maggiori e delta non di 50 ma di 0 per allungare il tempo di validità e poter cliccare verso la fine) il conteggio raramente avviene anche se sono certo di aver cliccato in tempo. Questo mi rende sempre più convinto della lentezza del sender a notificare quale label è stata cliccata. :mad:. Se così e clicco verso la coda, l'info del sender arriverebbe troppo tardi per essere considerata. Certo che sarebbero tempi non trascurabili.
Magari dico cazzate ma....
 
Per quanto riguarda il tuo codice purtroppo ho bisogno di un po' di tempo per capire la ragione per la quale non vedo assolutamente nulla. Lo schermo resta grigio e non succede nulla.
Ma... hai modificato qualcosa? Perché a me funziona benissimo, sia in modalità debug che release.
1.gif
 
Altra cosa che non mi è chiara è la macchinosità di "mIntervallo = 400 + Rnd(1, 12) * 100" invece di un semplice "mIntervallo = Rnd(500, 1500)"
Il primo modo farà sì che i valori andranno da 500 a 1500 ma incrementati di 100, mentre il secondo potrebbe darti 500, 501, 502... fino a 1500.
(e prima era RND(5000, 10000), tempi troppo lunghi, non si poteva sbagliare, giocando).
 
Per il timer random ora ho capito :) mentre per l'app ti allego lo screenshot di quello che ottengo sul mio smartphone senza aver minimamente apportato modifiche.
La casella bianca in tempi random ottiene lo sfondo dello stimolo (la croce rossa).
Ero poi intervenuto sul layout per far si che le label fossero tutte visibili ma la label interessata dalla stimolo era sempre la stessa (l'ultima) e riscontro i problemi che ti descrivevo (impossibile uscita dal loop, etc). Una cosa in più che non capisco :(
 

Attachments

  • Screenshot.png
    Screenshot.png
    10.7 KB · Views: 553
Caro Star-Dust ti ringrazio molto. Il tuo codice funziona decisamente meglio ma ha sempre un problema che avevo osservato io e cioè che se clicco verso la coda del tempo di validità dello stimolo il conteggio non avviene. Questo significa che al di sotto di una certa durata dello stimolo (nel tuo caso "Sleep(duratatimer -50)" il conteggio non avviene. Direi che questo problema si manifesta a aprtire dai 200-300 msec in giù mentre per durate di stimolo maggiori si nota che cliccando verso la coda si perdono conteggi. Ho fatto una prova rendendo fissa la label in modo da poterla cliccare facilmente.
Se io imposto un delta non di 50 ma di 600 o 500 x avere un tempo di validità dello stimolo di 200-300msec con la tua duratatimer fissata a 800 (ma si vede meglio con duratatimer = 800 o tempi maggiori e delta non di 50 ma di 0 per allungare il tempo di validità e poter cliccare verso la fine) il conteggio raramente avviene anche se sono certo di aver cliccato in tempo. Questo mi rende sempre più convinto della lentezza del sender a notificare quale label è stata cliccata. :mad:. Se così e clicco verso la coda, l'info del sender arriverebbe troppo tardi per essere considerata. Certo che sarebbero tempi non trascurabili.
Magari dico cazzate ma....
Non è il render che è lento, ma l'interfaccia ritarda nel cambiare colore in Bianco.
Tu lo vedi ancora colorato ma il tempo è già scaduto.

Poi considera il tempo di reazione del dito che mentre clicchi già l'evento è consumato.

Comunque buon proseguimento.
 
(impossibile uscita dal loop, etc)
Il loop serve solo a far sì che non venga "stimolata" la stessa Label del "giro" precedente (ovvero se fosse stata randomizzata la 7, il loop fa in modo che non venga accettato che nuovamente venga scelta la Label 7).

Per il resto, non so che dirti; se a me funziona, dovrebbe funzionare anche a te (senza modifiche).
 
Per Star_Dust. Questo è plausibile. Anche il passaggio inverso dovrebbe essere avere lo stesso ritardo e quindi il tempo di validità dovrebbe essere lo stesso solo shiftato in ritardo. Bella seccatura. Specie per tempi brevi quel che si vede non è quel che sta succedendo :mad:
 
Per LucaMs. Una ipotesi che lo zip non sia quello che hai testato? Diversamente un mio vecchio insegnate di elettronica soleva dire: "misteri dell'elettronica" (in questo caso dell'informatica) o "la colpa è dei campi vaccanti" :):)
 
Per Star_Dust. Questo è plausibile. Anche il passaggio inverso dovrebbe essere avere lo stesso ritardo e quindi il tempo di validità dovrebbe essere lo stesso solo shiftato in ritardo. Bella seccatura. Specie per tempi brevi quel che si vede non è quel che sta succedendo :mad:
Non ho scaricato l'esempio di @Star-Dust né ho seguito il problema, quindi la butto là, praticamente senza alcuna logica: usare Sleep (con valore molto basso, da 0 a 30 al massimo) potrebbe aiutare.

Se poi @Star-Dust volesse provare il mio progetto e dirmi se anche a lui dà problemi...!
 
Per LucaMs. Una ipotesi che lo zip non sia quello che hai testato? Diversamente un mio vecchio insegnate di elettronica soleva dire: "misteri dell'elettronica" (in questo caso dell'informatica) o "la colpa è dei campi vaccanti" :):)
Eh, o magari potresti aver fatto tu questo errore, hehehe.

Cmq, lo allego di nuovo qui.
 

Attachments

Si, il progetto di Star_Dust funziona meglio con sleep molto bassi (meglio con 0) ma lui ha dato una spiega del perchè osservo il problema relativo al click verso la coda del tempo di validità dello stimolo (tempo di aggiornamento dell'interfaccia) ma questo mi butta nello sconforto. Parrebbe non superabile.
Ora proverò in modalità release..
 
Per Star_Dust. Questo è plausibile. Anche il passaggio inverso dovrebbe essere avere lo stesso ritardo e quindi il tempo di validità dovrebbe essere lo stesso solo shiftato in ritardo. Bella seccatura. Specie per tempi brevi quel che si vede non è quel che sta succedendo :mad:
Puoi impostare le.cose per rendere sensibile il click 100ms in più e hai risolto
 
Non ho scaricato l'esempio di @Star-Dust né ho seguito il problema, quindi la butto là, praticamente senza alcuna logica: usare Sleep (con valore molto basso, da 0 a 30 al massimo) potrebbe aiutare.

Se poi @Star-Dust volesse provare il mio progetto e dirmi se anche a lui dà problemi...!
appena possono guardo
 
Anche in modalità release stesso risultato anche per il codice di Star-Dust. Ma forse pretendo troppo. Che una carciofola si comporti come un razzo? :mad:
 
Back
Top