Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Rilevare frequenza cpu

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755

    Rilevare frequenza cpu

    Le API standard di java comprendono una qualche funzione per determinare/rilevare la frequenza della cpu?
    Per un mio gioco realizzato in java mi servirebbe disporre di questa informazione in modo da settare automaticamente la velocità di animazione..
    Cercando sul web , ho trovato e testato la libreria Sigar che tramite funzioni native svolge adeguatamente il compito richiesto ma lo svantaggio è l'appesantire il mio progetto con librerie esterne (sigar e le varie dll di cui necessita)..quindi se esistesse un modo tra le API standard (sinceramente ne dubito) o una qualche proprietà di sistema (che ho già analizzato non trovando ciò che cerco) tanto di guadagnato


  2. #2
    È un'informazione sostanzialmente inutile... un Pentium 4 del 2003 fa ha la stessa frequenza di clock nominale del mio Phenom II di due anni fa (3.2 GHz), ma la differenza in prestazioni è ovviamente notevolissima (un fattore dieci a dare retta a PassMark)...
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Originariamente inviato da MItaly
    Non è un'informazione di grande utilità... un Pentium 4 del 2003 fa ha la stessa frequenza di clock nominale del mio Phenom II di due anni fa (3.2 GHz), ma la differenza in prestazioni è ovviamente notevolissima...
    Si , questo è pure vero ma devo trovare un modo per settare in automatico la velocità di animazione.
    Partendo dal fatto che il gioco setta la velocità di default a 100 (velocità massima) ho avuto modo di testare il gioco su vari notebook (miei , di familiari e amici) di frequenze e generazioni diverse e avviene ad esempio che:
    su un dual core duo 2.2 GHz la velocità perfetta si aggira attorno a 85
    su un i7 2.4 (tralasciamo il turbo boost a 3.4) la velocità perfetta si aggira attorno a 75-80
    su un celeron 800 MHz la velocità 100 è addirittura insufficiente inquanto vi è qlc piccolo scatto
    ecc ecc
    L'animazione del gioco avviene su un singolo thread quindi magari il discorso della frequenza regge seppur su cpu ad architetture diverse (multicore ecc ecc , so che ci stanno tante altre cose dietro)
    Dunque se mi bocci l'idea di settare la velocità di animazione in base alla frequenza che altra strada mi consigli di seguire?

    EDIT:
    il primo approccio è stato quello di fare tot "calcoli a vuoto" e rilevrne il tempo medio e usare quello come elemento di paragone..

  4. #4
    Ma scusa, tu come realizzi questa animazione? A cosa corrisponde esattamente questo parametro "speed"?
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Originariamente inviato da MItaly
    Ma scusa, tu come realizzi questa animazione? A cosa corrisponde esattamente questo parametro "speed"?
    Per farla breve e rendere l'idea è un qualcosa del tipo:

    codice:
    //esegui operazioni di animazione ,muovi oggetti + paint relativo a quell'istante
    for (int i=0;i<valoreInversamenteProporzionaleVelocitàAnimazione;i++) {
         //esegui operazione di rallentamento
    }
    In pratica la velocità di animazione è MOLTO dipendente dalla velocità del processore..spero di aver reso l'idea

  6. #6
    Non è una buona idea fare animazioni in quel modo, dato che divori la CPU e la velocità è dipendente dal clock del processore; normalmente si usa un timer di qualche genere che fa riferimento al tempo "vero" e non al clock della CPU.

    Related: è proprio per giochi scritti in questa maniera che molti PC di fine anni '80/inizio anni '90 avevano il pulsante "turbo".
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    755
    Per la cronaca ho seguito il tuo consiglio (lavoro tramite timer e relativo delay , non più direttamente dal clock)..Grazie!!


  8. #8
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.