Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Cos'è la bolla dell'IA e perché se ne parla
Cos'è la bolla dell'IA e perché se ne parla
Si parla molto ultimamente di "bolla dell'intelligenza artificiale", ma non è sempre chiaro perché: l'IA è una tecnologia molto promettente e che ha già cambiato molte cose dentro e fuori le aziende, ma ci sono enormi aspettative che stanno gonfiando a dismisura i valori delle azioni e distorcendo il mercato. Il che, com'è facile intuire, può portare a una ripetizione della "bolla dotcom", e forse anche di quella dei mutui subprime. Vediamo perché
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 17-11-2005, 12:46   #1
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
BUG AUDIO !!! Forse più dii uno...

Provate questo codice:
Codice:
package it.diamonds;

import it.diamonds.engine.audio.*;


public class ProvaSound
{

    public static void SleepOneSecond()
    {
        try
        {
            Thread.sleep(1000);
        }
        catch(InterruptedException e)
        {
            /* Nothing to do here */
        }
    }
   
    /**
     * @param args
     */
    public static void main(String[] args)
    {
        Audio audio = new Audio();
        
        Sound sound1 = new Sound("diamond");
        Sound sound2 = new Sound("diamond");
        Sound sound3 = new Sound("diamond");
        
        sound1.play();
        
        SleepOneSecond();
        
        sound2.play();

        SleepOneSecond();
        
        sound3.play();

        SleepOneSecond();
        
        sound2.play();

        SleepOneSecond();
        
        sound1.play();

        SleepOneSecond();
        
    }
Cosa notate ? A me sound3 viene riprodotto più forte degli altri... Se aggiungete un altro Sound, l'ultimo viene sempre riprodotto più forte !!!

Un altro bug... In pratica se il suono viene riprodotto una prima volta, la seconda non viene riprodotto...
In particolare mi riferisco al suono della gemma che tocca il fondo...
Codice:
    public void play()
    {
        if(!testing)
        {
            AL10.alSourcePlay(source);
        }
        wasPlayed = true;
    }
Il programma arriva ad eseguire correttamente questa funzione, ma AL10.alSourcePlay(source) non produce alcun suono (il suono è stato istanziato in GemFactory sia per la prima che per la seconda gemma)...
Potete vederlo facilmente facendo arrivare in fondo (in colonne diverse) due gemme...
Allegati
File Type: txt ProvaSound.txt (939 Bytes, 3 visite)
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 13:44   #2
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
ehm...
a me capita che se faccio cadere la gemma la prima non produce il suono mentre la seconda si....
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 13:52   #3
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Hmmm... e' un problema della libreria?
O piu' facilmente stiamo facendo noi qualcosa di sbagliato?

Nell'ordine inverso: prima assicuriamoci di pilotare la libreria in maniera corretta e poi, quando siamo sicuri che il problema non e' nostro, ricontrolliamo che stiamo pilotando la libreria in maniera corretta.

E poi, concludiamo che il problema e' loro.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 15:07   #4
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da ^TiGeRShArK^
ehm...
a me capita che se faccio cadere la gemma la prima non produce il suono mentre la seconda si....
Puoi testare il codice sopra ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 15:12   #5
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ho risolto il problema, ma non ho capito il perchè si presentava...
Modificando GemFactory da così:
Codice:
package it.diamonds;

import it.diamonds.engine.audio.Sound;

public class GemFactory
{
    public GemFactory()
    {

    }
    
    public Gem create()
    {
        Gem gem = new Gem("diamond");
        gem.setCollisionSound(new Sound("diamond"));
        return gem;
    }
}
a così:
Codice:
package it.diamonds;

import it.diamonds.engine.audio.Sound;

public class GemFactory
{
    Sound sound;

    public GemFactory()
    {
        sound = new Sound("diamond");
    }
    
    public Gem create()
    {
        Gem gem = new Gem("diamond");
        gem.setCollisionSound(sound);
        return gem;
    }
}
il bug nel gioco è sparito...
Comuqnue il problema di fondo rimane... Come mai la prima soluzione non funzionava ?

Ultima modifica di cionci : 17-11-2005 alle 15:17.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 15:28   #6
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Sono riuscito a riprodurre il problema (ovvviamente con la prima versione di GemFactory):
Codice:
   public static void main(String[] args)
    {
        Audio audio = new Audio();
        
        GemFactory gemFactory = new GemFactory();
        
        Gem gem = gemFactory.create();       
        gem.drop();
        
        SleepOneSecond();
        
        gem = gemFactory.create();       
        gem.drop();

        SleepOneSecond();
        
        gem = gemFactory.create();       
        gem.drop();

        SleepOneSecond();
        
        gem = gemFactory.create();       
        gem.drop();

        SleepOneSecond();
        
        gem = gemFactory.create();       
        gem.drop();

        SleepOneSecond();
        
    }
Ho fatto il commit di GemFactory corretta per eliminare il problema, conviene riportarla alla versione con il problema ? Che dite ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 15:40   #7
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
C:\cruisecontrol-2.3.0.1\work\checkout\diamonds\trunk\src\it\diamonds\GemFactory.java:7:11: Variable 'sound' must be private and have accessor methods.

Lanciate lo script di build sempre e comunque prima del commit.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 15:59   #8
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Hai ragione
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 16:16   #9
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
E che kaiser... Devo riportare il tutto alla prima versione... Altrimenti nella copia di GemFactory all'interno di GemFactoryForTesting si cerca di allocare un Sound e di conseguenza non essendo l'audio inizializzato falliscono praticaemnte tutti i test...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 16:19   #10
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
E che kaiser... Devo riportare il tutto alla prima versione... Altrimenti nella copia di GemFactory all'interno di GemFactoryForTesting si cerca di allocare un Sound e di conseguenza non essendo l'audio inizializzato falliscono praticaemnte tutti i test...
Scrivi del codice per creare Sound di testing all'interno di GemFactoryForTesting.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 16:20   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ho fatto così, altrimenti la copia di GemFactory in GemFactoryForTesting inizializzava un sound e creava un'eccezione...ovviamente è passibile di refactoring...
Codice:
package it.diamonds;

import it.diamonds.engine.audio.Sound;

public class GemFactory
{    
    private Sound sound = null;
    
    public GemFactory()
    {

    }
    
    public Gem create()
    {
        if(sound == null)
        {
            sound = new Sound("diamond");            
        }
        
        Gem gem = new Gem("diamond");
        gem.setCollisionSound(sound);
        
        return gem;
    }
}
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 16:21   #12
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da fek
Scrivi del codice per creare Sound di testing all'interno di GemFactoryForTesting.
Non risolverei perchè comunque viene chiamato prima il costruttore della superclasse...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 16:26   #13
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Ho fatto così, altrimenti la copia di GemFactory in GemFactoryForTesting inizializzava un sound e creava un'eccezione...ovviamente è passibile di refactoring...
In che senso "la copia di GemFactory in GemFactoryForTesting"?

Puoi postare il codice di GemFactoryForTesting?
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 16:27   #14
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Codice:
package it.diamonds;

public class GemFactoryForTesting extends GemFactory
{
    public GemFactoryForTesting()
    {
        
    }
    
    public Gem create()
    {
        return Gem.createForTesting();
    }
}
La "copia" nel senso che essendo GemFactory la classe base, viene comunque richiamato il costruttore di GemFactory per ogni nuova istanza di GemFactoryForTesting...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 18:08   #15
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Codice:
package it.diamonds;

public class GemFactoryForTesting extends GemFactory
{
    public GemFactoryForTesting()
    {
        
    }
    
    public Gem create()
    {
        return Gem.createForTesting();
    }
}
La "copia" nel senso che essendo GemFactory la classe base, viene comunque richiamato il costruttore di GemFactory per ogni nuova istanza di GemFactoryForTesting...
Malissimo. Vedi che succede se non lavori con le interfacce e fai ereditarieta' per condividere il codice?
Eredita strettamente sempre e solo per modellare relazioni "is a" che soddisfano il principio di sostituzione.

GemFactory dev'essere solo un'interfaccia, con due implementazioni:
- GameGemFactory
- GemFactoryForTesting

E non c'e' bisogno di alcun hack, perche' il tuo problema sparisce da solo.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 19:15   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Ehm...io te lo avevo chiesto su MSN se dovevo fare l'interfaccia... Probabilmente ho capito male quello che mi hai detto
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 19:39   #17
Vifani
Senior Member
 
Iscritto dal: Apr 2001
Città: Bari
Messaggi: 2776
Comunque è necessario fare anche un discorso relativo all'hardware. Cioè, così come per l'OpenGL, anche la scheda audio del PC deve supportare OpenAL e a dire la verità al riguardo non sono molto esperto. In ogni caso, prima di parlare di bug della libreria (decisamente improbabile visto che OpenAL è usato in Quake 4, UT2004 ed in innumerevoli titoli), sarebbe il caso di verificare il funzionamento di OpenAL con il codice dei tutorial che, teoricamente, dovrebbe essere corretto.
__________________
Raffaele Fanizzi
My Personal Web Site
Membro Jedi del HWU Star Wars Clan
Vifani è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 19:40   #18
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da cionci
Ehm...io te lo avevo chiesto su MSN se dovevo fare l'interfaccia... Probabilmente ho capito male quello che mi hai detto
Hai ragione tu, non ero stato chiaro io in MSN
fek è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 19:44   #19
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da Vifani
Comunque è necessario fare anche un discorso relativo all'hardware. Cioè, così come per l'OpenGL, anche la scheda audio del PC deve supportare OpenAL e a dire la verità al riguardo non sono molto esperto. In ogni caso, prima di parlare di bug della libreria (decisamente improbabile visto che OpenAL è usato in Quake 4, UT2004 ed in innumerevoli titoli), sarebbe il caso di verificare il funzionamento di OpenAL con il codice dei tutorial che, teoricamente, dovrebbe essere corretto.
Per ora mi basterebbe che qualcuno testasse il mio codice, magari con una scheda audio decente (io ho una ALC850 integrata)
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-11-2005, 19:45   #20
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Allora si fa così... Per ora lascio il codice con il bug (aggiorno comunque aggiungendo l'interfaccia)...così almeno tutti lo possono testare...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
FRITZ!Repeater 1700 estende la rete super-veloce Wi-Fi 7 FRITZ!Repeater 1700 estende la rete super-veloce...
SpaceX: un satellite ha fotografato il s...
36 idee regalo con offerte Amazon sotto ...
Sony assume il controllo dei Peanuts: Sn...
DJI Neo scende a 149€ su Amazon, in vers...
Scoperto un nuovo esopianeta che orbita ...
Blue Origin NS-37: successo per la missi...
Potrebbe essere stata rilevata una super...
La cometa interstellare 3I/ATLAS è...
Xiaomi 17 Ultra: l'autonomia non sarà un...
Il processo produttivo a 2 nm di TSMC è ...
L'atteso aggiornamento dei driver della ...
The Elder Scrolls VI nel 2029 e Fallout ...
Il Ryzen 7 9850X3D appare nel catalogo d...
Weekend pre natalizio Amazon, ecco tutte...
Prezzi giù su Oral-B iO: spazzolini elet...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:51.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v