Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-03-2011, 21:30   #1
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
[C/C++] struttura dati da usare

devo controllare un certo numero di segnali provenienti da alcuni apparati. Ogni apparato può generare da 1 a più segnali ed ogni apparato deve avere un nome.

Ogni apparato ha un range di 128 byte dei quali alcuni vengono usati mentre altri potrebbero non venire affatto usati.

Ho ad esempio l'apparato A con 127 byte(segnali), l'apparato B con 127 byte(segnali) e così via sino ad H e anche più.

Usare un array per ogni apparato non mi pare una gran soluzione o forse lo è, usare n alberi binari non so se abbia senso; il fatto è che devo dinamicamente continuare a verificare il loro stato: qualche idea?

grazie
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 31-03-2011, 22:37   #2
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12840
Anche se tu avessi 1000 apparati da 128byte l'uno, staresti a 128000 bytes ovvero circa 128Kbytes...

Con le cache attuali potrebbero stare tutti all'interno della cache del processore.

Tutto dipende da dove devi fare girare il programma e se hai dei requisiti prestazionali in termini di occupazione di memoria .

Gli array godono dell'accesso diretto che non è cosa da poco.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2011, 06:04   #3
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
già, hai ragione
Deve girare su un PC di ultima generazione e tenere sotto controllo in tempo reale lo stato di tutti quei byte.

Effettivamente non avendo una crescita di alcun tipo una struttura ad albero è sprecata

Mi chiedevo però: tali segnali viaggano su rete ethernet da 100 Mbit e possono cambiare ogni 8 ms (millisecondi) l'uno.
8 ms sono il tempo minimo sotto al quale non possono andare.

leggo da ethernet
128 byte * 10 apparati = 1280 byte = 1280*8=10240 bit

di ogni bit devo monitorare variazione e tempo di variazione ovviamente in ms, ce la faccio?
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2011, 10:00   #4
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12840
Come le calcoli le differenze? Io direi che potresti usare la funzione XOR per lavorare sui bit .

Ad esempio:
Codice:
val|  bits
11 | 01011 XOR
15 | 01111 =
-----------
 4 | 00100
Se il risultato dello XOR è 0 significa che non è cambiato nulla.

Quindi se è 1 vai a leggere i bits del risultato per capire quali sono cambiati .

Io penso che tu ce la possa fare così .
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2011, 17:03   #5
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
oggi ho scoperto che 8 ms sono il massimo, in realtà si parla di nanosecondi.
Ho quindi una decina di array da 128 byte per i quali devo verificare la variazione, il tempo di variazione in nanosecondi e confrontare a gruppi tali array con altri prelevati in uno storico.

A[128]
.........
Z[128]

verifico con la XOR il cambiamento del bit, memorizzo il tempo di variazione di stato e verifico se i tempi di cambiamento sono compresi in un certo range con quelli dello storico e questo per 1280 volte almeno ogni secondo....se riuscissi ogni 1/1000 di secondo sarebbe meglio
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 01-04-2011, 17:35   #6
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12840
Fai una prova e vediamo come va .
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 04-04-2011, 16:17   #7
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
una ulteriore complicazione

ogni bit di ogni byte dell'array corrispondono a qualchesegnale però un certo numero di segnali rappresentano il funzionamento di un dispositivo.

I segnali di uno stesso dispositivo ha i suoi bit sparpagliati nei vari array da 128 bit, come risolvo?

char A[128];
char B[128];
................
char Z[128];

dispositivo_1=bit_1(A[5]) + bit_2(D[43]) + bit_3(H[98]) + ..... + bit_m(L[n])
dispositivo_2=bit_1(X[15]) + bit_2(W[143]) + bit_3(P[198]) + ..... + bit_m(E[n])

i dispositivi possono essere anche 1000
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 04-04-2011, 17:17   #8
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21769
8 ms max su ethernet e con un sistema operativo comune sono impossibili da ottenere ti serve un sistema di acquisizione con i controattributi su cui giri un sistema operativo realtime cosa che con windows e acquisizione diretta con un protocollo non deterministico sui tempi come il tcp-ip è praticamente impossibile

l'unica soluzione che mi viene in mente è usare un pxi o una crio e anche con questi con Gbit tra il controller e l'host dubito che riesci ad andare a quelle velocità che richiedi.

comunque fatto questo te la devi vedere come vengono passati i valori dall'hw di acquisizione prima di decidere che struttura dati usare per l'immagazzinamento ma visto le performance che ti servono io opeterei se possibile per una shared memory tra i dispositivi (se disponibile) ed accesso diretto alla memoria
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 04-04-2011, 18:42   #9
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12840
Quote:
Originariamente inviato da !fazz Guarda i messaggi
8 ms max su ethernet e con un sistema operativo comune sono impossibili da ottenere ti serve un sistema di acquisizione con i controattributi su cui giri un sistema operativo realtime cosa che con windows e acquisizione diretta con un protocollo non deterministico sui tempi come il tcp-ip è praticamente impossibile

l'unica soluzione che mi viene in mente è usare un pxi o una crio e anche con questi con Gbit tra il controller e l'host dubito che riesci ad andare a quelle velocità che richiedi.

comunque fatto questo te la devi vedere come vengono passati i valori dall'hw di acquisizione prima di decidere che struttura dati usare per l'immagazzinamento ma visto le performance che ti servono io opeterei se possibile per una shared memory tra i dispositivi (se disponibile) ed accesso diretto alla memoria
In effetti con su troppa carne al fuoco comincia a diventare "pesante" ("ma avete problemi di gravità lì?" Cit.).

Programmarlo in kernel mode potrebbe migliorare le cose?
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 05-04-2011, 08:09   #10
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21769
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
In effetti con su troppa carne al fuoco comincia a diventare "pesante" ("ma avete problemi di gravità lì?" Cit.).

Programmarlo in kernel mode potrebbe migliorare le cose?
no,

è proprio questione principalmente di sistema operativo e di protocolli di comunicazione, è impossibile ottenere con le macchine tradizionali il real time, e per acquisire come vuoi tu è parecchio difficile devi usare sistemi hw dedicati real time per l'acquisizione che dopo inviino i dati al pc

in alternativa potresti provare ad usare rtai e vedere fino a quanto riesci a tirare il sistema ma non lo conosco per nulla
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 05-04-2011, 15:42   #11
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
oggi ho fatto delle prove "reali" e catturando 128 byte il tempo speso è circa 200 ms, molto ben lontano dagli 8 ms preventivati.

Incuriosito sono andato su un PC molto più performante ma ho ottenuto il medesimo risultato.

Appesantendo il programma con qualche conversione da intero a binario con un semplice ciclo i tempi non peggiorano di granchè, significa che il collo di bottiglia sta in rete o più precisamente nel protocollo stesso.

Facendo una simulazione in locale il tempo impiegato per generare in modo casuale e trasformare i 128 byte è quasi non misurabile.

Qualcuno ha parlato di kernel mode, signmifica che è possibile by passare lo schedulatore di windows?
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 05-04-2011, 15:56   #12
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da misterx Guarda i messaggi
oggi ho fatto delle prove "reali" e catturando 128 byte il tempo speso è circa 200 ms, molto ben lontano dagli 8 ms preventivati.

Incuriosito sono andato su un PC molto più performante ma ho ottenuto il medesimo risultato.

Appesantendo il programma con qualche conversione da intero a binario con un semplice ciclo i tempi non peggiorano di granchè, significa che il collo di bottiglia sta in rete o più precisamente nel protocollo stesso.
Probabile. Ci sono diversi fattori da tenere in considerazione: che protocollo usi per la comunicazione TCP, UDP, altro ? La rete e' dedicata (meglio ancora un cavo cross) oppure ci sono altre macchine sulla stessa ? Lavorando un po' su questi aspetti si possono migliorare le cose...

Poi, come fai a misurare la latenza ? Il pacchetto ha un suo timestamp ? I due clock sono sincronizzati ? Hai provato a misurare il tempo da quando "raccogli" il pacchetto a quando hai finito di elaborarlo ?
Quote:
Qualcuno ha parlato di kernel mode, signmifica che è possibile by passare lo schedulatore di windows?
La latenza introdotta dal lavorare in userspace non dovrebbe essere cosi' rilevante, perlomeno non nell'ordine dei centinaia di millisecondi
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 05-04-2011, 15:59   #13
!fazz
Moderatore
 
L'Avatar di !fazz
 
Iscritto dal: Nov 2006
Messaggi: 21769
Quote:
Originariamente inviato da misterx Guarda i messaggi
oggi ho fatto delle prove "reali" e catturando 128 byte il tempo speso è circa 200 ms, molto ben lontano dagli 8 ms preventivati.

Incuriosito sono andato su un PC molto più performante ma ho ottenuto il medesimo risultato.

Appesantendo il programma con qualche conversione da intero a binario con un semplice ciclo i tempi non peggiorano di granchè, significa che il collo di bottiglia sta in rete o più precisamente nel protocollo stesso.

Facendo una simulazione in locale il tempo impiegato per generare in modo casuale e trasformare i 128 byte è quasi non misurabile.

Qualcuno ha parlato di kernel mode, signmifica che è possibile by passare lo schedulatore di windows?
il problema non è lo schedulatore di windows, i problemi sono


1) windows non è un sistema in real time quindi non garantisce il time constraint
2) il protocollo tcp-ip non è un protocollo per la trasmissione real time ne un protocollo affidabile nulla su tcp-ip ti garantisce la corretta trasmissione dei dati al primo tentativo ne ti garantisce di essere collision free, inoltre tcp-ip non è tempo deterministico il tempo di trasmisisone è casuale cosa che per le acquisizioni real time è quanto di peggio puoi avere, 200ms è un tempo ragionevolmente corretto per un sistema non realtime su tcp-ip difficile andar sotto a meno che non cambi protocollo e sistema operativo e questo è indipendente dal carico computazionale, operazioni del genere non generano nessun problema su un microcontrollore figurati su una cpu desktop il tuo problema non è computazionale ma di architettura
__________________
"WS" (p280,cx750m,4790k+212evo,z97pro,4x8GB ddr3 1600c11,GTX760-DC2OC,MZ-7TE500, WD20EFRX)
Desktop (three hundred,650gq,3800x+nh-u14s ,x570 arous elite,2x16GB ddr4 3200c16, rx5600xt pulse P5 1TB)+NB: Lenovo p53 i7-9750H,64GB DDR4,2x1TB SSD, T1000
!fazz è offline   Rispondi citando il messaggio o parte di esso
Old 05-04-2011, 16:13   #14
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da !fazz Guarda i messaggi
il problema non è lo schedulatore di windows, i problemi sono


1) windows non è un sistema in real time quindi non garantisce il time constraint
2) il protocollo tcp-ip non è un protocollo per la trasmissione real time ne un protocollo affidabile nulla su tcp-ip ti garantisce la corretta trasmissione dei dati al primo tentativo ne ti garantisce di essere collision free, inoltre tcp-ip non è tempo deterministico il tempo di trasmisisone è casuale cosa che per le acquisizioni real time è quanto di peggio puoi avere, 200ms è un tempo ragionevolmente corretto per un sistema non realtime su tcp-ip difficile andar sotto a meno che non cambi protocollo e sistema operativo e questo è indipendente dal carico computazionale, operazioni del genere non generano nessun problema su un microcontrollore figurati su una cpu desktop il tuo problema non è computazionale ma di architettura
misterx non ha specificato se si tratta di valore medio o caso peggiore. Se siamo nel primo caso, SO realtime o non realtime dubito possa fare la differenza.
200 ms mi sembrano sono tantissimi anche per un ambiente non realtime (non ho esperienza su windows, ma in linux si riesce ad ottenere casi pessimi inferiori di un paio di ordini di grandezza )
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 05-04-2011, 17:32   #15
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
la misurazione lh' effettuata prelevando il clock di sistema in millisecondi all'inizio del ciclo e alla fine del ciclo.

Il problema è che la funcione che ho e ce mi permette di leggere lo stato dei segnali, mi passa un byte alla volta quindi devo ciclare 128 volte e se è come credo, la costruzione di 128 pacchetti TCP/IP fa spendere tempo.

Ci fosse stata una funzione per avere i 128 byte in un solo invio l'avrei usata, ma non c'è.

Per tale motivo devo almeno scrivere un programma che non appesantisca ulteriormente

ciao
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 05-04-2011, 20:27   #16
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da misterx Guarda i messaggi
la misurazione lh' effettuata prelevando il clock di sistema in millisecondi all'inizio del ciclo e alla fine del ciclo.

Il problema è che la funcione che ho e ce mi permette di leggere lo stato dei segnali, mi passa un byte alla volta quindi devo ciclare 128 volte e se è come credo, la costruzione di 128 pacchetti TCP/IP fa spendere tempo.

Ci fosse stata una funzione per avere i 128 byte in un solo invio l'avrei usata, ma non c'è.

Per tale motivo devo almeno scrivere un programma che non appesantisca ulteriormente

ciao
yuck, ora capisco .
Quindi devi fare una richiesta TCP, e attendere la risposta per ogni singolo valore ? Cosi' non ne andrai fuori... dovresti perlomeno poter leggere tutti i valori in una sola chiamata oppure configurare la periferica di acquisizione in modo che ti spari di continuo i valori senza dover fare richiesta esplicita.
Di che periferica si tratta ? E' un prodotto commerciale ?
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele

Ultima modifica di marco.r : 05-04-2011 alle 20:30.
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2011, 16:25   #17
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
Quote:
Originariamente inviato da marco.r Guarda i messaggi
yuck, ora capisco .
Quindi devi fare una richiesta TCP, e attendere la risposta per ogni singolo valore ? Cosi' non ne andrai fuori... dovresti perlomeno poter leggere tutti i valori in una sola chiamata oppure configurare la periferica di acquisizione in modo che ti spari di continuo i valori senza dover fare richiesta esplicita.
Di che periferica si tratta ? E' un prodotto commerciale ?
sono microcontrolli
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2011, 16:32   #18
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
edit

Ultima modifica di misterx : 08-04-2011 alle 17:33.
misterx è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2011, 17:44   #19
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da misterx Guarda i messaggi
ora leggendo i vari byte e costuendo l'array devo costuire i dispositivi associati.
In pratica devo vedere l'array come una stringa binaria lunga 1024 bit, ogni dispositivo è formato da bit sparsi nella stringa.

dispositivo1=bit1, bit100, bit98, bit127
dispositivo2=bit512, bit890, bit122

etc....

quando leggo la prima volta la stringa ho una deerminata situazione e pongo un tempo t per ogni bit del dispositivo; ad una successiva scansione sse il bit è cambiato verifico il tempo rispetto ad uno campione: che struttura si presta meglio per un lavoro del genere?

Dato un dispositivo, che senso avrebbe verificare

if(dispositivo1[numero_bit_precedente] != dispositivo1[numero_bit_attuale]) verifica se tempo di attivazione è diverso da quello campione

non impiegherebbe molto tempo una soluzione del genere ?
Ci sono alcune cose che non capisco:
tu devi monitorare lo stato dei singoli bit o ti basta tenere il timestamp di ogni apparato che cambia ?
Nel secondo caso puoi procedere utilizzando degli array, ad esempio
- Leggi gli array
- Scorri l'array in cerca dei bit che sono stati modificati, per ognuno di questi aggiorni il time
Codice:
if (bit(A,n) != bit(prev_A,n) )
    dispositivo[bit(A,b)].timestamp = blabla;
- Fai una copia degli array per la prossima iterazione

Il trucco sta fondamentalmente nel precomputare piu' cose possibili compatibilmente con la ram a disposizione, ad esempio ad esempio un bel array che ad ogni i-esimo bit associa il relativo dispositivo a cui appartiene), od espandere l'array di bit in array di bool in modo da far meno conti ad ogni accesso.
Quest'ultima cosa pero' dipende anche dalle caratteristiche dei segnali... ad esempio se ci sono pochi bit a 1 oppure i segnali cambiano poco, ci sono metodi alternativi che potrebbero risultare piu' snelli.

In ogni caso rimane il problema iniziale: secondo me non riuscirai ad ottenere i tempi che ti interessano perche' se li mangia tutti la comunicazione via rete... hai provato a misurare i tempi della sola ricezione, commentando tutta l'elaborazione successiva ?
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 09-04-2011, 12:48   #20
misterx
Senior Member
 
Iscritto dal: Apr 2001
Città: Milano
Messaggi: 3736
Quote:
Originariamente inviato da marco.r Guarda i messaggi
Ci sono alcune cose che non capisco:
tu devi monitorare lo stato dei singoli bit o ti basta tenere il timestamp di ogni apparato che cambia ?
devo monitorare lo stato di ogni singolo bit e il suo tempo di variazione
Codice:
1             ________
             |        |
0 -----------+        +-----------------

però vanno raggruppati con una certa logica, difatti ad ogni dispositivo competono un certo numero di bit i quali sono sparpagliati nell'array letto.

L'idea è usare un array per ogni dispositivo

Ultima modifica di misterx : 09-04-2011 alle 14:53.
misterx è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
Dogecoin diventa azionista di maggioranz...
xAI, la startup di Elon Musk, si ridimen...
NVIDIA nei guai in Cina: accusata di vio...
Ducati presenta la moto elettrica con ba...
Pikachu Illustrator, la carta Poké...
Mini PC da urlo: prestazioni da desktop ...
Windows 10, scatta il conto alla rovesci...
Errore 1603: AMD spiega come risolvere i...
Semiconduttori, tensioni in aumento: la ...
vivo X200 FE: la potenza di un flagship ...
Amazon fa impazzire i prezzi: ecco i 5 s...
iOS 26 arriva oggi: 8 motivi per aggiorn...
VMSCAPE, nuova variante Spectre: vulnera...
Meta Quest 3 da 512 GB scende ancora: or...
Xiaomi lancia un nuovo e-reader con Andr...
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: 10:27.


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