none
Windows Embedded XP - Lento per operazioni banali RRS feed

  • Domanda

  • Buonasera a tutti,

    ho un problema che mi sta facendo impazzire (tanto per cambiare).

    Ho una motherboard pc104 con atom n450, creata ed installata correttamente l'immagine di windows xp embedded,  mi sono accorto che lanciando un semplicissimo software in .net è lentissimo!!!

    Il software è uno stupido for next, da 0 a 10000, con all'interno uno sleep di 1 ms.... semplice no?

    Quanto impiega a terminare il ciclo? 2minuti e 36secondi!

    Con un XP Pro normalissimo, impiega 11 secondi!

    Dove sbaglio secondo voi?

    giovedì 13 maggio 2010 15:25

Risposte

  • Ciao,

     

    fortunatamente sono riuscito a risolvere il problema, facendo un paio di ricerche su google ho notato che il comando sleep, ha uno sleep in ms minimo, comunemente di 15ms, quindi anche se metti 1ms di sleep lui farà in realtà 15ms.

    A questo punto ho dovuto semplicemente settare ad 1ms il timebase del sistema operativo da codice net.

     

    Grazie cmq per l'interessamento

    • Contrassegnato come risposta mattia86 giovedì 20 maggio 2010 08:33
    venerdì 14 maggio 2010 12:54

Tutte le risposte

  • XP embedded è Windows XP Pro, semplicemente in versione "ritagliabile", quindi, a parità di hardware, dovrebbe fornire le stesse performances. Anzi, riducendo il footprint e le applicazioni/servizi in esecuzione resta più CPU e più memoria per l'applicazione principale e questo dovrebbe far migliorare le performances.

    Il confronto è stato fatto con XP pro sullo stesso hardware?

    La differenza sui tempi di esecuzione resta comunque considerevole. Hai provato a controllare se ci sono applicazioni/driver che si prendono una quota significativa del tempo di CPU?

    Buon lavoro.


    Valter Minute
    Windows Embedded MVP
    http://geekswithblogs.net/WindowsEmbeddedCookbook
    venerdì 14 maggio 2010 11:51
    Moderatore
  • Ciao,

     

    fortunatamente sono riuscito a risolvere il problema, facendo un paio di ricerche su google ho notato che il comando sleep, ha uno sleep in ms minimo, comunemente di 15ms, quindi anche se metti 1ms di sleep lui farà in realtà 15ms.

    A questo punto ho dovuto semplicemente settare ad 1ms il timebase del sistema operativo da codice net.

     

    Grazie cmq per l'interessamento

    • Contrassegnato come risposta mattia86 giovedì 20 maggio 2010 08:33
    venerdì 14 maggio 2010 12:54