Multi-threaded games will start hitting this year?

Para que serve todo o hardware senão para uma bela sessão de XXX (inserir jogo preferido)

Moderadores: Administradores, Moderadores

Multi-threaded games will start hitting this year?

Mensagempor LoGiKZ » Segunda Jun 20, 2005 14:44

Boas é vdd q ja vao sair jogos em multi-thread?? eu nem sabia q isso era possivel :oops: pensei q um jogo fosse sp so uma "accao" pro computador e nunca várias... :roll:
LoGiKZ
Aprendiz
Aprendiz
 
Mensagens: 85
Registado: Terça Jun 14, 2005 1:07

Mensagempor Creative Byte » Segunda Jun 20, 2005 16:32

Boas,

Multi-thread é uma técnica de programação que faz com que o programa possa efectuar várias operações em simultaneo, não existia nos jogos devido a sincronização entre as várias threads ser complexo e diminuir a performance do jogo.

Mas agora com processadores dual-core a perda de performance é compensada com o aumento de poder de processamento, imagina num processador o motor gráfico e a lógica de jogo e no outro o motor da fisica e A.I. :twisted:
Creative Byte
Membro de Prata
Membro de Prata
 
Mensagens: 264
Registado: Quarta Mar 30, 2005 15:55

Mensagempor LoGiKZ » Segunda Jun 20, 2005 17:39

AHHH boa!! realmente assim compensa! eu acabei de comprar um 4000+ algo me diz q me vou arrepender :?

Ai ai espero que demore mt ate sairem jogos desse género :roll:

Bem tb se acontecer sairem jogos q usem isto no proximo ano de 2006 ou q, ainda me dá mt tempo para gozar este investimento :P ... Temos que pensar de forma positiva 8)
DFI Lanparty NF4 SLI-D / AMD Athlon64 4000+ San Diego / OCZ ModStream 520W/ Caixa CMStacker preta (em modding)
2 x 512 Mushkin Redline Extreme XP4000
Asus X800XT 256Mg / 2 x Seagate 160Gb Sata

Watercooled mainly by: AquaComputer & Alphacool
LoGiKZ
Aprendiz
Aprendiz
 
Mensagens: 85
Registado: Terça Jun 14, 2005 1:07

Mensagempor Creative Byte » Segunda Jun 20, 2005 18:53

Boas,

Se pensares que um bom jogo leva mais de um ano a ser desenvolvido. :)
Creative Byte
Membro de Prata
Membro de Prata
 
Mensagens: 264
Registado: Quarta Mar 30, 2005 15:55

Mensagempor LoGiKZ » Segunda Jun 20, 2005 19:17

Creative Byte Escreveu:Boas,

Se pensares que um bom jogo leva mais de um ano a ser desenvolvido. :)


Bem... nem me tinha lembrado disso :lol: bem visto 8)

Assim já fico mais satisfeito!! :evil:
DFI Lanparty NF4 SLI-D / AMD Athlon64 4000+ San Diego / OCZ ModStream 520W/ Caixa CMStacker preta (em modding)
2 x 512 Mushkin Redline Extreme XP4000
Asus X800XT 256Mg / 2 x Seagate 160Gb Sata

Watercooled mainly by: AquaComputer & Alphacool
LoGiKZ
Aprendiz
Aprendiz
 
Mensagens: 85
Registado: Terça Jun 14, 2005 1:07

Mensagempor chocobanana » Segunda Jun 20, 2005 19:21

Não te preocupes que sempre podes trocar o teu AMD 4000+ por um AMD x2 (dual core), sem mudar a motherboard
chocobanana
Membro de Prata
Membro de Prata
 
Mensagens: 160
Registado: Segunda Mai 16, 2005 20:51
Localização: Vice City

Mensagempor LoGiKZ » Segunda Jun 20, 2005 19:25

chocobanana Escreveu:Não te preocupes que sempre podes trocar o teu AMD 4000+ por um AMD x2 (dual core), sem mudar a motherboard


Pois eu sei, o problema é a parte financeira q perco 8O

Mas agora nem vou pensar nisso, hehe vou é curtir o pc qd chegar e dps qd isso acontecer penso no assunto :roll: :idea:

Obrigado por td!! :P
DFI Lanparty NF4 SLI-D / AMD Athlon64 4000+ San Diego / OCZ ModStream 520W/ Caixa CMStacker preta (em modding)
2 x 512 Mushkin Redline Extreme XP4000
Asus X800XT 256Mg / 2 x Seagate 160Gb Sata

Watercooled mainly by: AquaComputer & Alphacool
LoGiKZ
Aprendiz
Aprendiz
 
Mensagens: 85
Registado: Terça Jun 14, 2005 1:07

Re: Multi-threaded games will start hitting this year?

Mensagempor xirix » Segunda Jun 20, 2005 19:35

LoGiKZ Escreveu:Boas é vdd q ja vao sair jogos em multi-thread?? eu nem sabia q isso era possivel :oops: pensei q um jogo fosse sp so uma "accao" pro computador e nunca várias... :roll:


ermmm, o que queres dizer com multi-thread???

O conceito de multi-thread já existe à muito tempo, e nos processadores de hoje, algumas instruções mais complexas são partidas aos bucados e alguns desses bucados são executados em simultanêo.

Os jogos de hoje, usam com certeza mais do que um thread.

Imagina por exemplo o GTA. Um dos threads comanda o boneco, outro carrega as texturas do mundo, e outro carrega isso tudo no modelo 3D, outro faz o render, e tudo isto "ao mesmo tempo".

as aspas no "ao mesmo tempo" é que como só algumas instruções são executadas ao mesmo tempo, a técnica usada, é colocar as instruções que deviam ser executadas em simultâneo em filas de espera, e o processador executa uma instrução de cada fila em sequência. Desta forma fica a ilusão de multi-threading.

sobre os processadores dual-core fazerem isso, tenho as minhas dúvidas que em dual-core isso seja muito mais eficiente em comparação com os processadores actuais. Porque apesar de ter dois processadores, vai existir sempre um bottleneck em relação a dividir as instruções a serem executadas em cada processador. Talvez com multi-core (mais do que dois cores) isso seja feito com uma performance realmente inovadora.


Abraços
X|r|X
=================
Não subscrevam a VIANETWORKS, TVTel ADSL, ASDL.XL, CyclopNet. A VIA aldraba todos os seus clientes iludindo-os c/ velocidades q nunca tem na realidade. Uma ligação 1024/256 (128kB/32kB) na prática é de 6kB/4kB c/ o emule.
xirix
Membro de Ouro
Membro de Ouro
 
Mensagens: 673
Registado: Terça Out 05, 2004 21:07

Mensagempor LoGiKZ » Segunda Jun 20, 2005 21:37

xirix:

Boas obrigado por me teres elucidado, realmente nunca me tinha debrucado mt sobre esse assunto, mas nessa linha de pensamento, muito do software actualmente usado, até mm o mais simples tem multi-thread... bem visto :idea:

:D Hehe acho q realmente a inovacao vai ser quando for com cerca de 4 nucleos... 8)
DFI Lanparty NF4 SLI-D / AMD Athlon64 4000+ San Diego / OCZ ModStream 520W/ Caixa CMStacker preta (em modding)
2 x 512 Mushkin Redline Extreme XP4000
Asus X800XT 256Mg / 2 x Seagate 160Gb Sata

Watercooled mainly by: AquaComputer & Alphacool
LoGiKZ
Aprendiz
Aprendiz
 
Mensagens: 85
Registado: Terça Jun 14, 2005 1:07

Mensagempor Creative Byte » Terça Jun 21, 2005 11:27

Boas,

Xirix deves estar a falar sobre o processamento efectuado dentro do processador, ai sim as instrucções mais complexas são divididas e são executadas várias instrucções "em simultaneo" enviando cada uma delas para um pipeline diferente.

Mas o multi-thread é uma técnica de programação que faz o que tu descreves em
Um dos threads comanda o boneco, outro carrega as texturas do mundo, e outro carrega isso tudo no modelo 3D, outro faz o render, e tudo isto "ao mesmo tempo"


o problema é uma thread saber o que outra thread está a fazer ou se já concluio o seu processamento esse processo é que faz com que a performance se degrade.

Nos jogos o mais utilizado é a divisão do tempo de processador através de timers desenvolvidos pelos criadores do jogo. Por exemplo após cada frame gerado é executado um bloco de código, ( AI, fisica, lógica de jogo) com um jogo tem de ter obrigatória mente um certo nº de fps (especialmente nas consolas) o código tem que garantir esse mesmo nº de fps e depois preocupar-se com o resto.

P.S.: Vou ver se encontro um esquema da lógica de um jogo, algo simples. :)
Creative Byte
Membro de Prata
Membro de Prata
 
Mensagens: 264
Registado: Quarta Mar 30, 2005 15:55

Mensagempor Creative Byte » Terça Jun 21, 2005 12:40

Boas,

Só para terem uma ideia da dificuldade de colocar multithread num jogo.

The first hurdle is obviously getting game developers to multithread their engines. This is a much bigger hurdle than optimizing for Cell or the 360's 3-core PPC processor. I have a feeling that it may take a while before we see properly multithreaded game engines running on consoles (the current estimate is year-end 2006 for multithreaded game engines to appear on the PC), so the first generation of games for the 360 and PS3 may end up being more of a competition of GPU horsepower. From what I've seen thus far, the demos that are being showcased aren't really focusing on the physics or AI aspects of what these next-generation consoles can do, rather mostly focusing on the fact that we finally have consoles with GPUs powerful enough to render scenes at 720p or 1080p resolutions.


Artigo completo
Creative Byte
Membro de Prata
Membro de Prata
 
Mensagens: 264
Registado: Quarta Mar 30, 2005 15:55

Mensagempor xirix » Terça Jun 21, 2005 13:27

Hummm,


Então segundo o que dizes, os jogos actuais usam apenas uma thread e usam várias queues com as instruções que vão ser executadas em "simultaneo" (tipo time-share ;)).

Eu pelo menos não tinha noção disso funcionar assim. Pensava que um jogo usava várias threas (ainda mais os jogos online em que, pensava eu, existia no mímimo duas threads. Uma thread para o player e outra para actualizar a situação no server).

Acho então que o conceito de multi-thread de que estão a falar, é colocar uma thread a funcionar especificamente num Core/Processador e não ter várias threas num só Core/Processador? Right?

Abraços
X|r|X
=================
Não subscrevam a VIANETWORKS, TVTel ADSL, ASDL.XL, CyclopNet. A VIA aldraba todos os seus clientes iludindo-os c/ velocidades q nunca tem na realidade. Uma ligação 1024/256 (128kB/32kB) na prática é de 6kB/4kB c/ o emule.
xirix
Membro de Ouro
Membro de Ouro
 
Mensagens: 673
Registado: Terça Out 05, 2004 21:07

Mensagempor LoGiKZ » Terça Jun 21, 2005 18:59

Boas estou a gostar do desenvolvimento deste tópico hehe e por sua vez estou a aprender MT mm ;) Obrigado por tds as respostas até agora!!!

O saber é poder :twisted: !! e claro tb n ocupa lugar hih 8)
DFI Lanparty NF4 SLI-D / AMD Athlon64 4000+ San Diego / OCZ ModStream 520W/ Caixa CMStacker preta (em modding)
2 x 512 Mushkin Redline Extreme XP4000
Asus X800XT 256Mg / 2 x Seagate 160Gb Sata

Watercooled mainly by: AquaComputer & Alphacool
LoGiKZ
Aprendiz
Aprendiz
 
Mensagens: 85
Registado: Terça Jun 14, 2005 1:07

Mensagempor badboi » Quarta Jun 22, 2005 1:33

Boas a todos, leiam que é interessante. ;)

Deixem-me acrescentar algo mais devido a uma conferência que assisti sobre o assunto. Mas antes de começar quero esclarecer já a metodologia que vou aplicar:

Jogador – o ser humano que se encontra a jogar o jogo.
Personagem – a animação gráfica controlada pelo AI do jogo que está lá apenas para completar o jogo.
Personagem activa – animação gráfica com história parcialmente ou totalmente definida no jogo.

A realidade é que a verdadeira mais valia que o multithread vai trazer ao jogo não será a performance mas sim a complexidade. E que a nível gráfico estamos cada vez mais próximos do limite e como sabem quando mais próximos do limite estamos mais lenta é a progressão para esse limite (mesmo que esse limite seja inalcançável).

Não me parece de forma nenhuma que o poder de processamento gráfico, no futuro, seja passado das gráficas para o processador, logo o multithread aplicado a parte gráfica será apenas aplicado no Core da gráficas e será feito através do drives das gráficas e não do próprio jogo em si. Sei que estou a contradizer um pouco o artigo da Anandtech neste ponto mas não me parece ser a prioridade do multithread. A unica grande vantagem visivel parece-me ser a criação de maior áreas de acção gráfica, a tal sensação de mapa sem fim e com muito menos transições.

A grande vantagem do multithread será sim a nível da AI do jogo. Ai sim vamos assistir sem dúvidas a uma possível revolução nos jogos de hoje em dia. Imaginem-se a jogar em singleplayer naquele ambiente que todos gostamos do multiplayer. Imaginem as personagens do jogo irem evoluído por elas próprias através da interacção com outras personagens que não o jogador. Conseguem imaginar o resultado?

Claro que conseguem, teriam um GTA em que as personagens computacionais do jogo reagiam de formas diferentes conforme o nível de interacção com outras personagens de comportamento opostos. Teriam um Sims em que as personagens computacionais interagiam fora do raio de acção do jogo onde casariam umas com as outras e criavam descendentes uns dos outros conforme os seus comportamentos. Teriam um RPG onde teriam competidores directos sem ser os jogadores a fazerem as tarefas que existem pelo mundo sem que pudesses suspeitar que as mesmas existiam.

É nesse campo que o multithread vai trazer as grandes vantagens aos jogos, é o jogo poder evoluir fora do raio de acção do jogador. Uma thread para o jogador e outra para a AI do jogo. Actualmente os jogos apenas existem no sítio em que o jogador está presente, basta o jogador abandonar essa área para outra para que tudo o que existia deixe de existir para dar lugar à nova área. As personagem ficam com que em standby até o jogador voltar ao mesmo sitio e apresentam as mesmas características que no momento que as abandonamos no local. Atenção que eu estou a referir-me as personagens e não a personagens activas com a história já traçada no inicio para o jogo todo. E o mais engraçado nisso é que as personagens evoluem de formas diferentes de reinício para reinício. Uma vez que apenas serão programadas inicialmente mas a evolução da personagem ao longo do jogo é uma verdadeira incógnita.

Acho que a ligação do AI ao multithread está bem implicita e não precisa de uma explicação mais minuciosa, mas basicamente quanto maior a capacidade de processamento diferenciado maior é o número de situações a decorrer em simultâneo de forma distinta.


Venham lá os vossos comentários sobre o que disse e se acham que estou errado digam porque estou cá em busca do conhecimento tal como vocês.


Sem mais,
Badboi.
Editado pela última vez por badboi em Quarta Jun 22, 2005 1:44, num total de 1 vez.
Este fórum é moderado pelo bom senso e é isso que se pede a todos os utilizadores.
Consulte também as regras
badboi
Moderador
Moderador
 
Mensagens: 448
Registado: Quarta Jan 15, 2003 17:36
Localização: Almada

Mensagempor Speed Dragon » Quarta Jun 22, 2005 1:38

Para já, li tudo :D!

Realmente está muito interessante, e resumindo é como existi-se outra personagem igual a nós, que fize-se tudo como nós a tive-se-mos a controla-lá.

E já agora, uma pergunta, e nas consolas, isso irá já existir com a PS3 ?
... Then a japanese tuning company spend a 150.000£ on the engine ...
... so now develops a 1.000 Break Horse Power!
... Not to 60Mph, in 2.8 seconds, Not to 190Mph in 12 seconds ... Top Speed 234Mph!
... Semtex with a Steering Wheel!
Speed Dragon
Moderador
Moderador
 
Mensagens: 5186
Registado: Sexta Mai 23, 2003 15:36
Localização: Lobão - Sª Mª da Feira > FEUP

Próximo

Voltar para Jogos

Quem está ligado:

Utilizador a ver este Fórum: Nenhum utilizador registado e 1 visitante

cron