XNA cambiare la frequenza di update

di Anonimizzato10204 il
13 risposte
Come si cambia la frequnza di update in XNA?

13 Risposte

  • Ciao OrsoBruno,
    vedo che sei mattiniero!

    La frequenza di update in XNA si combia con TargetElapsedTime , ad esempio:
    
    TargetElapsedTime = TimeSpan.FromSeconds(periodMSec / 1000.0);
    
  • Al mattino lavoro meglio
    Ho visto che hai usato un millisecondo, si può usare un valore cosi basso?
  • Per fare delle prove ho usato una applicazione XNA per Window, e per curiosità ho impostato un millisecondo, ha funzionato senza problemi, poi non so se rispetta veramente questa frequenza, magari faccio qualche misura.
  • E per la frequenza del Draw sai qualcosa?
  • Non so se si può impostare una frequenza per il Draw, l' unica cosa che ho letto è che impostando:
    
    graphics.SynchronizeWithVerticalRetrace = false;
    
    Si ha la massima frequenza di ridisegno.

    Cosa stai facendo di bello con XNA, solo delle prove o qualche programma per WindowsPhone?
  • Per ora solo prove, sto usando una applicazione XNA per Windows.
  • Pure io stò usando XNA per Windows, per fare delle prove mi sembra più comodo di WindowsPhone, anche se il target rimane lui. Visto che pure tu lo usi volevo chiederti come ti trovi, avevi già usato qualcosa?
  • Mi trovo molto bene, avevo fatto qualcosa in C++ ma qui è tutta un" altra cosa.
  • Concordo, pure io avevo usato le DirectX in C++ e avevo fatto qualcosa pure in C#. In XNA mi sono trovato subito a mio agio.

    Una curiosità: perchè vuoi cambiare la frequenza di update?
  • Se gli oggetti sono molto veloci le collisioni vengono valutate in maniera imprecisa. pensavo di aumentare la frequenza con cui vengono valutate.
  • Però questo mi sembra dispendioso. Se gli oggetti si intersecano poco frequentemente sprechi un sacco di risorse inutilmente.
  • Avevo pensato ad altre soluzioni tipo ccambiare la frequenza quando gli oggetti sono vicini ma mi sembra complicata.
  • Il problema degli oggetti veloci e che vedi la collisione quando si sono già compenetrati di molto, se ad esempio li vuoi fare rimbalzare viene una schifezza.

    Potresti quando ti accorgi di una collisione ripartire dal momento precedente e ricalcolare le posizioni con intervalli di tempo più piccoli. Questo non vuol dire cambiare la frequenza di update e verrebbe fatto solo dopo che hai visto una collisione.
Devi accedere o registrarti per scrivere nel forum
13 risposte