Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    curiosità su rallentamenti

    Se ho un sito in flash fatto in as2 dove sul mio stage non esiste praticamente niente, dove tutto viene creato ed elaborato (animazioni, gallerie di immagini con zoom, movimenti tramite tween, gestione dei caricamenti, rimozione dei clip creati ecc) su un frame solamente e dove ho immagini a schermo intero caricate esternamete ed eliminate a seconda della sezione in cui siamo, è possibile che si rallenti per la quantità di codice e di operazioni che faccio fare al pc?

    è un pensiero che ho sempre avuto e vorrei capire

    grazie in anticipo
    eccomiiiiiiii

  2. #2
    sò che magari è una cosa banale ma è una mia curiosità
    eccomiiiiiiii

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    La curiosità è lecita, ma ci sono tanti fattori che entrano in gioco per poter avere una risposta completa e credo che sia impossibile darne una valida per tutti i casi.

    Semplificando ti dico che una delle priorità di Adobe nella creazione del nuovo player e del nuovo linguaggio è stata proprio quella di limitare alcune situazioni di stress del player in determinate condizioni, ad esempio quella del rendering degli elementi visibili nel filmato, inoltre l'uso della sintassi rigorosa che evita al player di dover correggere gli errori commessi dallo sviluppatore in fase di esecuzione del filmato e così via.

    Entrando nello specifico del tuo caso (AS2), posso dirti che se gestisci correttamente le animazioni, gli enterframe e le azioni ripetitive, eliminandone l'uso quando non necessario, e se utilizzi immagini esterne della dimensione corretta, possibilmente già ottimizzate e fai sempre uso dei preload per questi e per gli altri caricamenti esterni, non dovresti avere in generale problemi di rallentamento del tuo filmato.

    Ovvio è che tutto il discorso è da applicare senza considerare la configurazione del pc dell'utente finale. Ad esempio sul mio vecchio fisso con P4 1.7ghz vedo parecchi siti o filmati rallentati.

  4. #4
    pensavo che un buon utilizzo delle classi mi aiutasse ad alleggerire il calcolo che il pc svolge, così adesso mi sono imbattuto in una cosa del genere



    import mx.transitions.Tween;
    class Cube{

    var movimento:String;




    function Cube(valore:String){

    movimento=valore;

    if(movimento="lo"){






    var rscic:Tween = new Tween(_root.cerchio, "_x", mx.transitions.easing.Regular.easeOut,_root.cerchi o._x, 300, 8, true);






    }


    }





    }


    mi è venuta in mente perchè visto che ho molte tween, potrei gestirle passando un valore alla classe, trami l'onrelease di un pulsante sullo Stage, in modo di poter avviare la mia funzione, stessa cosa per rimuovere i clip e assegnare gli enterframe (esempio di rotazioni di un oggetto) , ma la cosa che mi ha creato il dubbio è proprio nella fase descritta sopra...

    funziona tutto alla perfezione, ma io ho un piccolo dubbio

    le transizioni, che avvengono se passata una stringa di testo, hanno bisogno di un'importazione della classe Tween che se importata all'interno della classe Cube non funziona (giustissimo), allora l'ho importata al di fuori e tutto va bene, quindi la classe legge anche al proprio esterno cioè detto grossolanamente, quello che è nello stesso as ma fuori dalla classe stessa, correggimi se mi sbaglio
    eccomiiiiiiii

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Perdonami, ma non ho capito molto del tuo discorso, riguardo all'importazione, tutte le classi esterne per cui è necessaria l'importazione, devono essere richiamate prima della costruzione della classe, quindi prima di class ecc...
    Riguardo alle tween, io preferisco gestire le tween che uso una sola volta, e che non hanno quindi bisogno di grandi attenzioni, inserendole in un array, evitando di usare lo stesso nome ogni volta che avvio una tween.

    Codice PHP:
    import mx.transitions.*;
    import mx.transitions.easing.*;
    class 
    Test {
        private var 
    TWEENS:Array;
        function 
    Test () {
            
    TWEENS = [];
            
    TWEENS.push (new Tween(_root.cerchio"_x"Regular.easeOut,_root.cerchio._x3008true));
        }

    ps. non son sicuro che sia possibile raggiungere _root da una classe in quel modo

  6. #6
    io ho provato e funziona alla perfezione anche il codice che ti ho postato, comunque hai risposto alla perfezione, anche se non esplizitamente, visto il mio casino di discorso.

    Ultima cosa ... parlavamo della gestione dgli eventi onEnterFrame(), io sto dicendo ad un clip, e precisamente all'interno del suo enterFrame, di muoversi a seconda della posizione del mouse e se il clip è piu' largo dello Stage... tutto ok, pero' tu prima mi hai detto di utilizzare bene la gestione degli eventi onEnterFrame, credo perchè durante la navigazione del sito, anche se no siamo in quel preciso momento, l'onEnterFrame sia gestito sempre e comunque, e che quindi appesantisca il tutto (correggimi se sbaglio), quindi se ho detto tutto bene come faccio ad eliminare il mio _root.nome.onEnterFrame=function{}, quando non mi serve e ad associarlo nuovamente quando mi serve?

    Grazie in anticipo
    eccomiiiiiiii

  7. #7
    tutto ok ho fatto con delete this.onEnterFrame()
    eccomiiiiiiii

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.