Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1

    stranezze di frame rate

    ragazzi... innanzi tutto mi presento e saluto tutti gli utenti di questo fantastico forum e in particolare quelli che mi leggeranno...
    mi sono appena iscritto è l'ho fatto perchè ho un problema che non riesco a risolvere e spero che qualcuno mi aiuti in proposito....
    allora veniamo al dunque anche perchè sennò il post si allunga troppo...
    il mio problema è sui fotogrammi al secondo
    infatti trovo che la funzione di impostazione dei fps sia molto imprecisa in flash...
    come è possibile che se metto fps a 60 se vedo il filmato nella finestra del browser mi da 40 e se lo vedo con il player mi da 60?
    se setto 120 nel browser mi da 63, nel player 120
    ma l'assurdo avviene quando setto 50 è scendo a 25 nel browser e 50 nel player...
    esiste un sistema per avere un frame rate fisso? che non dipenda ne da potenza del pc ne dal browser?
    ho provato a limitarlo usando la funzione setInterval per limitare una determinata funzione a un determinato intervallo in millisecondi...che scazza di non poco quando è combinata ad alcuni fps tipo 63 ecc..
    in una prova addirirttura ho ottenuto 953... e scrollava tutto di brutto super fluido....
    insomma ho bisogno di limitare il programma in modo efficente ad una frame rate fisso....
    grazie per le risposte e spero di essere stato chiaro...

  2. #2
    E' vero che esiste una certa differenza tra la riproduzione dal plugin del browser e il player standalone, probabilmente dovuta ad un diverso quantitativo di risorse utilizzate, ma è anche vero che è pratiamente quasi assurdo utilizzare un frame rate mggiore di 30 fps perché comunque si va già oltre i limiti dell'occhio umano. Sebbene l'utilizzo di un framerate di 60 fps possa dare degli effetti carini bisogna valutare comunque il target di utenza che dovrà visualizzare tale filmato, anche perché è normale che vi sia differenza tra varie macchine con processori diversi, poiché Flash è un programma che utilizza grafica vettoriale e questo tipo di grafica richiede potenza di calcolo, quindi quanto più complicata sarà la grafica quanto più numerosi saranno i calcoli da eseguire ad ogni fotogramma dalla CPU e questo non è un fattore che favorisce la fluidità in esecuzione da parte di CPU già un po' più datate.

  3. #3
    ti ringrazio per le osservazioni... e ti spiego subito....
    la fluidità mi serve per un gioco di f1 che stò realizzando in flash..
    è per un sito...
    il problema è molto più complesso di quello che sembra...
    se imposto 30 il browser mi va a 20...
    su di un altro pc mi fa 15 e via di sequito...
    è purtroppo ho bisogno di sincronizzare il tutto per via dell'accellerazione della macchina e dei tempi...
    su computer diversi si potrebbero completare i giri della pista in tempi diversi indipendentemente dell'abilità del pilota....
    cpu + veloce accellerazione maggiore....
    ho provato anche ad adattare la velocità della macchina al frame rate ma con scarsi risultati perchè l'accellerazione dipende sempre dal tempo... e non esiste una formula matematica che fà al caso mio...
    in quanto i parametri variano da pc a pc...
    ps.: io mi accontenterei anche di 30 ma il problema è che 30 non vuol dire 30 per tutti....

  4. #4
    Devi stabilire un target di CPU.

    E' logico che se lo sviluppi su un PIV a 3 GHz e poi lo testi su un Celeron a 500 MHz noterai delle differenze abissali.

  5. #5
    il problema sorge per il multiplayer....
    che fà io vado a 15 e tu a 20 fps?
    devo per forza sincronizzare...
    io impiego 10 sec per arrivare a 300kmh e tu 8?
    io affronto le curve meglio perchè vado + piano e quindi giro meglio e tu peggio perchè sei + veloce... :zamm:
    io evito gli ostacoli perchè li vedo arrivare + lentamente tu te li ritrovi li di colpo e ci cozzi contro... :zamm:
    soprattutto in rettilineo tu mi passi subito perchè accelleri di +....
    un gioco del genere non avrebbe senso....

  6. #6
    Prenditela con Macromedia, con le case produttrici di microprocessori, schede video, schede madri.... Prenditela anche con quegli utenti così obsoleti che non aggiornano annualmente il proprio sistema... Di sicuro non prendertela con me.

  7. #7
    e invece io me la prendo proprio con te....
    perchè non hai capito ancora niente del mio discorso....
    io non sto parlando di hardware obsoleto ma di timming in flash....
    2 p4 3ghz con 2 schede video, una geffofx5950 e na raddy9800xt hanno timming differenti in flash....
    una può dare 30 e una 28 fps....
    e a me.. mi cambia già tutto....
    questo è un appello a chiunque se ne intende di timming in flash non penso di essere stato l'unico ad avere avuto questo problema....

    nb.: non necessita di risposta da parte di thunderlips senza offesa....

  8. #8
    Dalla tua ultima risposta mi sei proprio scaduto, pensavo fossi una persona un po' più seria, in ogni caso non voglio polemizzare, ma evidentemente i due PC identici non sono poi così identici, probabilmente le due schede video gestiscono il rendering del filmato in modo diverso... Inoltre il timming non so cosa sia, semmai potrebbe essere il timing.

    In ogni caso visto che sono ignorante non ti darò più risposte a riguardo, evidentemente capita solo a te e non a me che un movie abbia queste differenze abissali su due macchine completamente identiche, non ho mai sperimentato problemi a far girare un movie di un certo spessore su due macchine diverse se queste macchine sono di buona qualità per il movie in questione. Le uniche vere differenze le ho notate tra PC e Mac, il Mac purtroppo rende meno bene a livello diprestazioni, ma è probabile che sia solo una diversa accuratezza nel Player o per come viene gestito un file swf su piattaforma Mac.

    Puoi anche utilizzare tutti i timer che vuoi, ma i calcoli vengono comunque fatti ad ogni fotogramma e quindi se le differenze sono abissali i timer ti serviranno a ben poco, poi non ho idea di come tu stia gestendo il tuo filmato, ma in linea di massima un timer lo puoi utilizzare al posto dell'evento enterFrame per evitare che ad un frame rate elevato alcuni calcoli vengano fatti troppo di frequente, ma questo non influisce sulla grafica, che viene comunque gestita frame per frame e quindi se il tuo movie "sforza" per colpa della grafica a poco ti serve temporizzare le azioni. Piuttosto evita di utilizzare troppi eventi enterFrame nello stesso momento, troppi cicli, ecc... Di solito con un'ottimizzazione del codice si può incrementare in modo notevole l'esecuzione di alcune operazioni e di conseguenza gravare meno sulla CPU che è più "libera" di gestirsi la grafica vettoriale. Inoltre evita anche le immagini bitmap e la musica e i suoni in generale a qualità troppo alta...

    Poi questi sono solo dei consigli che ti dà un povero ignorante che di Flash non capisce niente e che lo usa malapena da un paio di settimane, quindi non prenderli per buoni.

  9. #9
    ma chi è questo ottusangolo?
    senti mi hai solo rovinato il post con le tue chiacchiere inutili.. :
    cmq mi dispiace constatare che anche con la tua ultima risposta
    non hai ancora inquadrato quale sia il mio problema....
    senti ma visto che non riesco a farti capire di cosa parlo...
    ti chiedo di fare due prove tu stesso....
    crea un filmato qualunque anche cortissimo l'importante che vi sia un movimento, tipo na pallina che gira in cerchio....
    setta il frame rate a 20 o ad un numero che ti pare e piace....
    inserisci nel tuo filmato uno script che calcoli e visualizzi i frame al secondo.... è una cosa semplice sono 2 righe di codice e un richiamo alla funzione getTimer()....
    ora in fine fai anteprima in html e dai uno sguardo a come si comporta il filmato...
    avrai una bella sorpresa....
    se avevi settato 20 ... ti accorgerai che il filmato viene eseguito a meno frame per secondo di quello che avevi impostato...
    come ultima prova apri una ateprima con il player flash dello stesso file magari affiancata a quella in html e già ad occhio nudo noterai la differenza..
    se hai messo un movimento ripetuto in loop ti accorgerai di come quello nel player doppi la posizione di quello in html dopo pochi secondi.....
    spero che con questa ultima prova tu ti renda conto di come il browser rubi potenza di calcolo al tuo filmato flash e purtroppo quel rubare è diverso da pc a pc...
    ora credo che esista un modo per bloccare l'esecuzione del filmato ad un certo numero di fps e di evitare al browser di rubare....
    spero di essermi spiegato.....

  10. #10
    ha dimenticavo come ultima prova variate i fps del documento tipo
    58-59-60-61
    vi accorgerete che il timing del documento è gestito malissimo ed è calcolato in millisecondi (0-1000)
    quindi 1000/59=16(.9) = 1000/60=16(.6) = 1000/61=16(.3) = 1000/62=16(.1 )
    in poche parole settare 59 60 61 è la stessa cosa il filmato va sempre uguale....
    e allora mi domando a che serve dire che il frame rate può variare da 0.01 a 120 quando tre valori danno lo stesso risultato?
    punto e basta.....

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.