SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida :D
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
[DÚVIDA] usar PERSONAGEM 3D no FIRST PERSON
Como carregar imagens e videos
Transform.up Muito rápido!
[PROJETO MOBILE] Defeat the Illuminatis
Desativar HingeJoint
[RESOLVIDO] Tocar som em script que exibe uma mensagem
[RESOLVIDO] Sons na Unity 2017
tem como excluir uma( ou várias ) contas do fórum?
Servidores sem limite por usuário.
Como ativar animação quando o objeto se move ?? sem rigidbody
[TUTORIAL] Inteligência artificial, inimigo e AIPoints
Manager Como fazer um jogo nesse estilo?
[DÚVIDA] TIRANOSSAURO REX no UNITY?
Verificar se a camera está virada para o objeto
[TUTORIAL] Animação customizável (Por scripts)
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
Duvida com animação
[TUTORIAL] Criar jogo Colors/Genius com C#
Jumper boy
[RESOLVIDO] Utilizar o mesmo botão para duas ações. (if e else)
[____ADMINISTRAÇÃO____] PRECISO DE AJUDA [DICA PARA SER AJUDADO]
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Ajuda com AI Inimigo.
[Script] Mudar a orientação em runtime
Como mover dois objetos juntos.
[TUTORIAL] Third Person Shooter
[PEDIDOS DE TUTORIAIS]
Google Play Games
Como apagar Proceduram material da pista, quando for recarregar a cena?
PROBLEMA NULL REFERENCE EXCEPTION
Calculo de previsão de coordenada
Unity - Rodar 2 cenas ao mesmo tempo
| AJUDA DISCORD | Descubra aqui como fazer para o link do seu servidor nunca expirar.
Trigger detectando apenas o character controller
seguir 2 objetos com a mesma tag
Zezin Na Copa da Russia Realidade Aumentada
DISCORD
Novo jogo - Astero - PlayStore
Variável receber valor de uma array
erro no script
[RESOLVIDO] Bug de wallpaper preto no windows.
[TUTORIAL] Movimento de camera em primeira pessoa e sons de passos ou HeadBob
[RESOLVIDO] Tomar dano do inimigo e causar dano no mesmo
[RESOLVIDO] Texto se encaixar dentro de uma imagem.
[Projeto] Line Battle
Jogo Maria Bella
Spawner de Inimigo n preenche todas as posições
[TUTORIAL] AI Enemy ( Jogos de terror )
Como corrigir o box collider do unity?
SPAWN Baseado na Posição (UNITY)
[RESOLVIDO] Problema em um script
Unity - executável não roda banco de dados
Como criar um sistema de Ranking simples.
Animação Humanoid
Blender - Erro ao aplicar influência automática nos ossos de personagem
Objetos duplicados ao instanciar
Duvida com collider
[RESOLVIDO] Problemas com API
Pegar e Jogar armas no chão (estilo CS 1.6)
[RESOLVIDO] Projeteis Online
[TUTORIAL] Zone Wall - ESTILO BATTLE ROYALE
| DÚVIDA | - Como aprender C#?
Como criar um ranking online na Unity usando a PlayFab e o Facebook?
Dúvida sobre método de acesso as variáveis
checkpoint
Como faço para otimizar meu projeto da Unity 3D?
[RESOLVIDO] Alguém me explica isso? (Animator script)
[RESOLVIDO] Duvida com GameManager
duvidas com marcas reais em jogos
Objeto na UI
Minimap/Radar/GPS Estilo GTA V
Problemas com a câmera
PROBLEMAS COM O NAVIGATION
[TUTORIAL] Serialização - JSON
Textura de luzes rosa
Banco de dados android
Girar arma
Qual o melhor meio de iluminar essa scene?
[Jogo] Flap OCO (Android & PC)
[TUTORIAL] Android - Sistema de controle third person shooter, Joystick + Swipe camera
ANIMAÇÃO INIMIGO AI
[RESOLVIDO] Menu Pause Dúvida
Unity 5: Object reference not set to an instance of an object
Como saber se o controle foi conectado?
[ENQUETE OFICIAL] Você está vendo o CHAT DO FÓRUM?????
Onde posso aprender a fazer uma IA estilo a do jogo de tabuleiro Zombicide?
[RESOLVIDO] Erro -> Android SDK is missing required API level 23
Sprites com mesmas cores.
[Formação de Equipe] Battles of Worlds
Como fazer para sair do jogo apertando uma tecla?
VAGA MODELADOR
[Em Desenvolvimento] Battles of Worlds
[RESOLVIDO]Colocar dois fundos diferentes em um mesmo canvas dependendo do menu carregado.
[TUTORIAL] 42 ÓTIMAS DICAS DE OTIMIZAÇÃO PARA JOGOS MOBILE (Android)
[____REGRAS DO FÓRUM____]
SetPartner
Como eu posso criar uma rede social semelhante ao NEAKI?
Como colocar dois backgrounds diferentes para dois canvas diferentes?
Botões Android
Hoje à(s) 9:29 pm
Hoje à(s) 8:56 pm
Hoje à(s) 8:44 pm
Hoje à(s) 7:30 pm
Hoje à(s) 7:25 pm
Hoje à(s) 7:15 pm
Hoje à(s) 5:22 pm
Hoje à(s) 4:35 pm
Hoje à(s) 4:14 pm
Hoje à(s) 7:16 am
Hoje à(s) 6:36 am
Hoje à(s) 6:19 am
Hoje à(s) 12:54 am
Ontem à(s) 9:49 pm
Ontem à(s) 8:25 pm
Ontem à(s) 8:12 pm
Ontem à(s) 8:08 pm
Ontem à(s) 3:50 pm
Seg Jun 18, 2018 10:51 pm
Seg Jun 18, 2018 7:29 pm
Seg Jun 18, 2018 6:46 pm
Seg Jun 18, 2018 6:45 pm
Seg Jun 18, 2018 6:43 pm
Seg Jun 18, 2018 6:38 pm
Seg Jun 18, 2018 4:36 pm
Seg Jun 18, 2018 3:42 pm
Seg Jun 18, 2018 3:33 pm
Seg Jun 18, 2018 1:26 pm
Seg Jun 18, 2018 7:23 am
Dom Jun 17, 2018 11:54 pm
Dom Jun 17, 2018 11:50 pm
Dom Jun 17, 2018 8:49 pm
Dom Jun 17, 2018 5:21 pm
Dom Jun 17, 2018 2:37 pm
Dom Jun 17, 2018 12:48 pm
Dom Jun 17, 2018 11:34 am
Sab Jun 16, 2018 10:40 pm
Sab Jun 16, 2018 9:43 pm
Sab Jun 16, 2018 9:28 pm
Sab Jun 16, 2018 8:48 pm
Sab Jun 16, 2018 5:13 pm
Sab Jun 16, 2018 5:05 pm
Sab Jun 16, 2018 4:51 pm
Sab Jun 16, 2018 4:33 pm
Sab Jun 16, 2018 4:14 pm
Sab Jun 16, 2018 3:39 pm
Sab Jun 16, 2018 1:48 pm
Sex Jun 15, 2018 10:15 pm
Sex Jun 15, 2018 8:31 pm
Sex Jun 15, 2018 8:24 pm
Sex Jun 15, 2018 8:02 pm
Sex Jun 15, 2018 5:08 pm
Sex Jun 15, 2018 2:46 pm
Sex Jun 15, 2018 12:08 pm
Sex Jun 15, 2018 10:46 am
Qui Jun 14, 2018 6:41 pm
Qui Jun 14, 2018 4:25 pm
Qui Jun 14, 2018 2:34 pm
Qui Jun 14, 2018 6:19 am
Qua Jun 13, 2018 10:08 pm
Qua Jun 13, 2018 9:59 pm
Qua Jun 13, 2018 6:48 pm
Qua Jun 13, 2018 3:16 pm
Qua Jun 13, 2018 3:11 pm
Qua Jun 13, 2018 9:12 am
Qua Jun 13, 2018 6:25 am
Qua Jun 13, 2018 1:00 am
Qua Jun 13, 2018 12:40 am
Ter Jun 12, 2018 11:08 pm
Ter Jun 12, 2018 8:00 pm
Ter Jun 12, 2018 5:17 pm
Ter Jun 12, 2018 2:25 pm
Ter Jun 12, 2018 9:00 am
Seg Jun 11, 2018 11:57 pm
Seg Jun 11, 2018 7:17 pm
Seg Jun 11, 2018 2:51 pm
Seg Jun 11, 2018 2:42 pm
Seg Jun 11, 2018 10:18 am
Seg Jun 11, 2018 10:05 am
Dom Jun 10, 2018 10:52 pm
Dom Jun 10, 2018 7:18 pm
Dom Jun 10, 2018 6:29 pm
Dom Jun 10, 2018 6:23 pm
Dom Jun 10, 2018 3:53 pm
Dom Jun 10, 2018 12:32 pm
Dom Jun 10, 2018 9:32 am
Sab Jun 09, 2018 5:36 pm
Sab Jun 09, 2018 5:14 pm
Sab Jun 09, 2018 5:09 pm
Sab Jun 09, 2018 11:44 am
Sab Jun 09, 2018 10:49 am
Sab Jun 09, 2018 8:27 am
Sex Jun 08, 2018 4:23 pm
Sex Jun 08, 2018 3:35 pm
Sex Jun 08, 2018 3:22 pm
Sex Jun 08, 2018 8:24 am
Sex Jun 08, 2018 1:02 am
Qui Jun 07, 2018 11:48 pm
Qui Jun 07, 2018 9:09 pm
gcs13
NKKF
dstaroski
dstaroski
DevTerror
richardfalcos
thancor
MarcosSchultz
NKKF
dstaroski
NKKF
Callyde Jr
gcs13
Alphax
Zack2
rafaelllsd
NKKF
M4theuz
SuperGamer
DevTerror
dstaroski
dstaroski
dstaroski
dstaroski
Dom3000
Phph09
Zack2
NKKF
guimaraf
fecirineu
fecirineu
ismarspn
SuperGamer
Alphax
NKKF
natanael.olimpio
Carlos Mesquita
Édipo
Flávio
dstaroski
M4theuz
dstaroski
kenau
NKKF
Alphax
foxtenn
NKKF
BrazaTattoo
lesgoy
dstaroski
Dom3000
Midoriiiiii
BRGC
Dom3000
Dom3000
Dom3000
Zack2
yVIEIRA
Phph09
fecirineu
IanLuan
IanLuan
natanael.olimpio
guimaraf
NyeTiSS
francisco barroso
Alphax
Zack2
dstaroski
Alphax
Duarte
NKKF
dstaroski
igorobm
JonathanDiego
mafipt
Zack2
fecirineu
Dom3000
francisco barroso
bertarele
Magnatah
ZeroTuhnder
FelipeSouza11
francisco barroso
YmKx
francisco barroso
NKKF
Dom3000
Isabela
Dom3000
Dom3000
kenau
FelipeSouza11
FelipeSouza11
NyeTiSS
Callyde Jr
FelipeSouza11
dstaroski

Otimização de scripts por Coroutines

Ir em baixo

Otimização de scripts por Coroutines

Mensagem por perinaldoc em Qua Out 07, 2015 6:42 pm

Marcos blz?

Gostaria muito que você fizesse quando possível um tutorial sobre como otimizar scripts utilizando Coroutines, pois vi que a maioria dos métodos acabamos por padrão definindo sua execução através de chamada no método Update, que ocorre a cada frame e isso acaba pesando muito, tendo em vista que se um jogo estiver rodando em média a 60 Frames por segundo, o método então seria checado ou executado 60x por segundo, fazendo a performance cair bastante e já por meio de coroutines é possível determinar o tempo de execução, tipo 1x por segundo ou a cada 5 segundos, etc. Andei vendo alguns exemplos, mas sei que existem inúmeras formas de utilizá-las, como em métodos void.
Gostaria de uma explicação melhor com exemplos se possível. Não creio que isso irá gerar um vídeo muito longo ou complexo de se fazer.

Grato!

perinaldoc
Newbie
Newbie

Posts : 36
Pontos : 1071
Reputação : 9
Registro : 19/09/2015
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Otimização de scripts por Coroutines

Mensagem por MarcosSchultz em Qua Out 07, 2015 10:42 pm

A tempos planejo fazer um vídeo sobre isso... só falta eu programar o roteiro.

O problema é que não trata-se apenas de substituir Update por Coroutines... isto na verdade não ajuda em quase nada. O que pesa é usar Update para fazer checagens que nem precisariam estar ativadas, muitos instantiates, Utilizar setagem de GetComponent com o próprio comando GetComponent no Update, entre muitas outras coisas... O principal que deixa os jogos pesados ainda é a demasia de particulas, modelos tridimensionais com muitos tris, luzes em realTime ou que poderiam ter bake más estão sem, etc, etc...

Por isso tenho que preparar um roteiro para otimização, além de explicar algumas coisas como o oclusion que é muito util...
avatar
MarcosSchultz
Administrador

Masculino Posts : 5832
Pontos : 10574
Reputação : 1902
Registro : 19/09/2014
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Re: Otimização de scripts por Coroutines

Mensagem por perinaldoc em Qua Out 07, 2015 11:33 pm

@MarcosSchultz escreveu:A tempos planejo fazer um vídeo sobre isso... só falta eu programar o roteiro.

O problema é que não trata-se apenas de substituir Update por Coroutines... isto na verdade não ajuda em quase nada. O que pesa é usar Update para fazer checagens que nem precisariam estar ativadas, muitos instantiates, Utilizar setagem de GetComponent com o próprio comando GetComponent no Update, entre muitas outras coisas... O principal que deixa os jogos pesados ainda é a demasia de particulas, modelos tridimensionais com muitos tris, luzes em realTime ou que poderiam ter bake más estão sem, etc, etc...

Por isso tenho que preparar um roteiro para otimização, além de explicar algumas coisas como o oclusion que é muito util...

Pois é Marcos, estou tendo diversos problemas de otimização em meu jogo, pois sempre fui muito crítico quanto a gráficos dos jogos que eu jogo e apesar de estar fazendo um jogo pela primeira vez, estou buscando próximo ao realismo em meus cenários e isso está me custando em processamento. Possuo uma máquina robusta com processador Octa-core rodando e uma placa de vídeo GTX970 de 4GB e ainda assim, testando meu jogo que ainda está longe de terminar, pois ainda restam muitas texturas a serem aplicadas e objetos a serem inseridos na cena, bem como scripts ainda a serem implementados e ele já possui partes em que o FPS chega a cair a 5, 9 e em outras partes chega acima de 60! Então vejo pelo Stats do Unity que a maior parte dos problemas se dá justamente por conta de inúmeros batches que o processador tem que processar bem como tris que os renders acredito devam jogar pra VGA. Em alguns momentos os tris chegam a mais de 40.000 em pontos da casa. Estou desenvolvendo um jogo de Survival Horror que se passa em uma mansão. Já estou com ela toda modelada e quase toda mobiliada (ela foi criada através do Sketchup), mas tem partes que possuem muitos vertices. Só consegui importá-la decentemente utilizando formato obj. Sei que as texturas não ficam no Unity e eu tenho que texturizar tudo de novo, mas tive problemas com DAE mesmo fazendo como vc disse no tutorial.

Por acaso tem alguma forma de melhorar a questão de muitos meshes? Percebi que box colliders são melhores do que mesh collider em alguns casos se encapsular tudo num GameObject vazio e colocar tudo de um mesmo objeto dentro dele.

perinaldoc
Newbie
Newbie

Posts : 36
Pontos : 1071
Reputação : 9
Registro : 19/09/2015
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Otimização de scripts por Coroutines

Mensagem por MarcosSchultz em Qui Out 08, 2015 1:27 am

Existem várias coisas que melhoram significativamente o desempenho como

- Usar shaders do tipo diffuse
- Usar sempre modelos com o minimo de triangulos possível
- Usar texturas com baixa resolução sempre que possível
- Usar o mínimo de luzes ativas em cena se possível...
- Sempre que der, trocar luzes em real Time por Bake de luzes
- Desativar cenarios completos distantes sempre ajuda a diminuir DrawCalls... pode fazer isto com base neste vídeo:




Obviamente este sistema não é nem de perto algo top... tudo isto poderia ser feito com uma "coroutines" a cada 2 segundos por exemplo... deixaria bem mais leve do que ficar checando em tempo real.

-Outra coisa que ajuda muito é deixar objetos fixos como estáticos... facilitará muito para sua engine calcular luzes e físicas.
- Sempre que der, opte por BoxCollider... é melhor do que tudo que é colisor existente... é a geometria mais leve e menos bugada que a unity traz
- Use o mínimo possível de física ativa no seu jogo... se algum objeto necessita ter física em um certo momento, tente manter suas propriedades de física apenas quando este momento chegar... depois tente deixa-lo como kinemático, ou desativar o objeto.
- Tente utilizar um modelo único em vez de vários modelos separados... por exemplo, algumas pessoas criam as paredes e os pilares separados, e depois juntam... eu modelo tudo junto e depois importo como um único modelo. Isto ajuda a reduzir os DrawCalls

e por ai vai. E como eu disse, pode usar oclusion culling para ajudar
avatar
MarcosSchultz
Administrador

Masculino Posts : 5832
Pontos : 10574
Reputação : 1902
Registro : 19/09/2014
Idade : 21
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum