APLICA?ÃO MUITO LENTO

JOHNSTEVE 24/10/2016 14:41:40
#468360
Citação:

:
Já ouviu falar de Requisitos de Sistema?
Mas ele diz que isso é na mesma maquina, ou não ?



é na mesma maquia q programo :(
JABA 24/10/2016 15:15:08
#468362
Quando for fazer a distribuição, compile em modo release; desta forma o tamanho do executável será bem menor do que com debug e ficará mais rápido. Faça isso para todos os projetos que envolvem a sua aplicação.
DS2T 24/10/2016 16:34:50
#468371
Cara, pro executável estar com o tamanho de 104 MB, sinal que você deve tá levando muito recurso com ele.
E provavelmente, esses recursos estão com Build Action = Embedded Resource ou Compile.

Tente deixar eles como Content. Assim, eles vão como arquivos externos na pasta do executável... ao invés de ficarem no executável, o deixando lento.

Abraços!
JOHNSTEVE 24/10/2016 18:05:21
#468375


Citação:

:
Quando for fazer a distribuição, compile em modo release; desta forma o tamanho do executável será bem menor do que com debug e ficará mais rápido. Faça isso para todos os projetos que envolvem a sua aplicação.



Java eu so compilo em RElease mais mesmo assim ficou lento aqui no pc. o executavel :(
JOHNSTEVE 24/10/2016 18:07:04
#468376
Citação:

:
Cara, pro executável estar com o tamanho de 104 MB, sinal que você deve tá levando muito recurso com ele.
E provavelmente, esses recursos estão com Build Action = Embedded Resource ou Compile.

Tente deixar eles como Content. Assim, eles vão como arquivos externos na pasta do executável... ao invés de ficarem no executável, o deixando lento.

Abraços!



[DS2T]

Como faço isso ? eu nao entendi muito bem.

PLUGSOFTSM 24/10/2016 23:42:23
#468378
Resposta escolhida
Amigo....

1 - Vc verificou se não está fazendo operações nos comandos SelectdeindexChanged e TextXhangeddos controles. Se estiver fazendo isso corre o risco de disparar comandos em loop, onde um componente atualiza outro e vice-versa, principalmente na hora de popular um combobox, reduzindo assim drasticamente o desempenho do seu aplicativo. Recomendo que execute um debug passo-a-passo para certificar-se disso;
2 - Pegue as telas que são pouco usadas, como cadastro de funcionários, cadastro de fornecedores, relatórios e coloque-as em dll. Passe a carrega-las no Sistema a partir da dll;
3 - Use e abuse das threads em segundo plano;
4 - Com um executável desse tamanho, nem pense em executá-lo pela rede. Instale-o na máquina e só use a rede para tráfego de dados;

Se puder colocar o fonte de um desses teus formas que estão lentos, talvez possa te ajudar melhor
JOHNSTEVE 25/10/2016 08:39:58
#468380
Citação:

:
Amigo....

1 - Vc verificou se não está fazendo operações nos comandos SelectdeindexChanged e TextXhangeddos controles. Se estiver fazendo isso corre o risco de disparar comandos em loop, onde um componente atualiza outro e vice-versa, principalmente na hora de popular um combobox, reduzindo assim drasticamente o desempenho do seu aplicativo. Recomendo que execute um debug passo-a-passo para certificar-se disso;
2 - Pegue as telas que são pouco usadas, como cadastro de funcionários, cadastro de fornecedores, relatórios e coloque-as em dll. Passe a carrega-las no Sistema a partir da dll;
3 - Use e abuse das threads em segundo plano;
4 - Com um executável desse tamanho, nem pense em executá-lo pela rede. Instale-o na máquina e só use a rede para tráfego de dados;

Se puder colocar o fonte de um desses teus formas que estão lentos, talvez possa te ajudar melhor



OPA bom dia PLUGSOFTSM, eu uso os combobox SelectdeindexChanged e TextXhangeddos,. tenho 18 combobox - vou mostrar o Load do Form de cadastro de produtos.
e todos eles eu chamo no looad.


  Private Sub CadProduto_Load(sender As Object, e As EventArgs) Handles MyBase.Load
corFundo()

lbl_id_empresa.Text = intidEmpresa

PCarregaNumeracaoCadastro()
PLimpaCampos()

Me.mkbData.Text = DateValue(agora) [ô]AQUI CHAMA A DATA DO DIA usando (Imports System.DateTime )

PCarregaGRUPO() [ô]carrega combobox
PCarregaUndMedida() [ô]carrega combobox
PCarregaFornecedor() [ô]carrega combobox
PCarrega_Cst_Icms() [ô]carrega combobox
PCarrega_Cst_Pis_Entrada() [ô]carrega combobox
PCarrega_Cst_Pis_Saida() [ô]carrega combobox
PCarrega_Cst_Cofins_Entrada() [ô]carrega combobox
PCarrega_Cst_Cofins_Saida() [ô]carrega combobox
PCarrega_Situacao_Tributaria() [ô]carrega combobox
PCarrega_Origem() [ô]carrega combobox
PCarrega_Aliquota() [ô]carrega combobox
PCarrega_Cst_Ipi() [ô]carrega combobox
PCarregaReferenciaProduto() [ô]carrega combobox

If txtCodigo.Text = [Ô]NOVO[Ô] Then
txtcstCSOSN.Text = [Ô][Ô]
txtPIS.Text = [Ô][Ô]
txtCofins.Text = [Ô][Ô]
cmb_Origem.SelectedIndex = -1
[ô]PLimpaCampos()
txtPis_Entr.Text = [Ô][Ô]
txtCofins_Entr.Text = [Ô][Ô]
End If

txtDescricao.Text = Descricao_Completa [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS
cmbFornecedor.Text = Nome_Fornecedor [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS

cmb_NCM.Text = ncmProduto [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS
cmbCEST.Text = cestProduto [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS
txtCodBarra.Text = CodBarras [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS

If CST_Produt = [Ô]101[Ô] OrElse CST_Produt = [Ô]102[Ô] OrElse CST_Produt = [Ô]00[Ô] OrElse CST_Produt = [Ô]20[Ô] OrElse CST_Produt = [Ô]20[Ô] Then
cmbICMS.Text = [Ô]1- Tributado[Ô]
End If

If CST_Produt = [Ô]10[Ô] OrElse CST_Produt = [Ô]30[Ô] OrElse CST_Produt = [Ô]60[Ô] OrElse CST_Produt = [Ô]70[Ô] OrElse CST_Produt = [Ô]201[Ô] OrElse CST_Produt = [Ô]202[Ô] OrElse CST_Produt = [Ô]203[Ô] OrElse CST_Produt = [Ô]500[Ô] Then
cmbICMS.Text = [Ô]2- Substituição Tributária[Ô]
End If

cmbTipoItem.Text = TipoItem

If NFeCodProd <> [Ô][Ô] Then
txtCodigo.Text = NFeCodProd
End If

If codProdtCompr = [Ô][Ô] Then
[ô]txtCodigo.Text = [Ô]NOVO[Ô]
Else
txtCodigo.Text = codProdtCompr
End If
End Sub
NICKOSOFT 25/10/2016 18:22:43
#468405
ponha esse descarrego de tanto combo numa thread, mas de qq forma a lentidão por conta disso seria maior em debug do q pronto....
PLUGSOFTSM 25/10/2016 19:33:27
#468406
Aparentemente o teu load não teria nada de anormal a fora o fato de vc poder colocar todos esses preenchimentos de combobox numa thread
Tente fazer assim:

private sub PreencherCombos
PCarregaGRUPO() [ô]carrega combobox
PCarregaUndMedida() [ô]carrega combobox
PCarregaFornecedor() [ô]carrega combobox
PCarrega_Cst_Icms() [ô]carrega combobox
PCarrega_Cst_Pis_Entrada() [ô]carrega combobox
PCarrega_Cst_Pis_Saida() [ô]carrega combobox
PCarrega_Cst_Cofins_Entrada() [ô]carrega combobox
PCarrega_Cst_Cofins_Saida() [ô]carrega combobox
PCarrega_Situacao_Tributaria() [ô]carrega combobox
PCarrega_Origem() [ô]carrega combobox
PCarrega_Aliquota() [ô]carrega combobox
PCarrega_Cst_Ipi() [ô]carrega combobox
PCarregaReferenciaProduto() [ô]carrega combobox
End Sub

Private Sub CadProduto_Load(sender As Object, e As EventArgs) Handles MyBase.Load
corFundo()

lbl_id_empresa.Text = intidEmpresa

PCarregaNumeracaoCadastro()
PLimpaCampos()

Me.mkbData.Text = DateValue(agora) [ô]AQUI CHAMA A DATA DO DIA usando (Imports System.DateTime )

Dim T1 As New System.Threading.Thread(AddressOf PreencherCombos)
T1.IsBackground = True
T1.Start(Panel3)
If txtCodigo.Text = [Ô]NOVO[Ô] Then
txtcstCSOSN.Text = [Ô][Ô]
txtPIS.Text = [Ô][Ô]
txtCofins.Text = [Ô][Ô]
cmb_Origem.SelectedIndex = -1
[ô]PLimpaCampos()
txtPis_Entr.Text = [Ô][Ô]
txtCofins_Entr.Text = [Ô][Ô]
End If

txtDescricao.Text = Descricao_Completa [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS
cmbFornecedor.Text = Nome_Fornecedor [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS

cmb_NCM.Text = ncmProduto [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS
cmbCEST.Text = cestProduto [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS
txtCodBarra.Text = CodBarras [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS

If CST_Produt = [Ô]101[Ô] OrElse CST_Produt = [Ô]102[Ô] OrElse CST_Produt = [Ô]00[Ô] OrElse CST_Produt = [Ô]20[Ô] OrElse CST_Produt = [Ô]20[Ô] Then
cmbICMS.Text = [Ô]1- Tributado[Ô]
End If

If CST_Produt = [Ô]10[Ô] OrElse CST_Produt = [Ô]30[Ô] OrElse CST_Produt = [Ô]60[Ô] OrElse CST_Produt = [Ô]70[Ô] OrElse CST_Produt = [Ô]201[Ô] OrElse CST_Produt = [Ô]202[Ô] OrElse CST_Produt = [Ô]203[Ô] OrElse CST_Produt = [Ô]500[Ô] Then
cmbICMS.Text = [Ô]2- Substituição Tributária[Ô]
End If

cmbTipoItem.Text = TipoItem

If NFeCodProd <> [Ô][Ô] Then
txtCodigo.Text = NFeCodProd
End If

If codProdtCompr = [Ô][Ô] Then
[ô]txtCodigo.Text = [Ô]NOVO[Ô]
Else
txtCodigo.Text = codProdtCompr
End If
End Sub

Não sei o que faz essa função PLimpaCampos - Se for somente para limpar os campos, vc poderia iniciar o formulário com os campos limpos. Isso evitaria muitos códigos talvez....

Mas mais uma vez reforço... Verifique se vc não está executadno códigos em redundância no evento selectedchanged. Principalmente se for acesso a Banco de dados. Isso causa um tremendo estrago na performance do teu aplicativo....

Procure usar o evento validate
JOHNSTEVE 25/10/2016 21:09:52
#468409
Citação:

:
Aparentemente o teu load não teria nada de anormal a fora o fato de vc poder colocar todos esses preenchimentos de combobox numa thread
Tente fazer assim:

private sub PreencherCombos
PCarregaGRUPO() [ô]carrega combobox
PCarregaUndMedida() [ô]carrega combobox
PCarregaFornecedor() [ô]carrega combobox
PCarrega_Cst_Icms() [ô]carrega combobox
PCarrega_Cst_Pis_Entrada() [ô]carrega combobox
PCarrega_Cst_Pis_Saida() [ô]carrega combobox
PCarrega_Cst_Cofins_Entrada() [ô]carrega combobox
PCarrega_Cst_Cofins_Saida() [ô]carrega combobox
PCarrega_Situacao_Tributaria() [ô]carrega combobox
PCarrega_Origem() [ô]carrega combobox
PCarrega_Aliquota() [ô]carrega combobox
PCarrega_Cst_Ipi() [ô]carrega combobox
PCarregaReferenciaProduto() [ô]carrega combobox
End Sub

Private Sub CadProduto_Load(sender As Object, e As EventArgs) Handles MyBase.Load
corFundo()

lbl_id_empresa.Text = intidEmpresa

PCarregaNumeracaoCadastro()
PLimpaCampos()

Me.mkbData.Text = DateValue(agora) [ô]AQUI CHAMA A DATA DO DIA usando (Imports System.DateTime )

Dim T1 As New System.Threading.Thread(AddressOf PreencherCombos)
T1.IsBackground = True
T1.Start(Panel3)
If txtCodigo.Text = [Ô]NOVO[Ô] Then
txtcstCSOSN.Text = [Ô][Ô]
txtPIS.Text = [Ô][Ô]
txtCofins.Text = [Ô][Ô]
cmb_Origem.SelectedIndex = -1
[ô]PLimpaCampos()
txtPis_Entr.Text = [Ô][Ô]
txtCofins_Entr.Text = [Ô][Ô]
End If

txtDescricao.Text = Descricao_Completa [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS
cmbFornecedor.Text = Nome_Fornecedor [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS

cmb_NCM.Text = ncmProduto [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS
cmbCEST.Text = cestProduto [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS
txtCodBarra.Text = CodBarras [ô]AQUI VEM DA IMPORTAÇÃO NA CONSULTA DE PRODUTOS

If CST_Produt = [Ô]101[Ô] OrElse CST_Produt = [Ô]102[Ô] OrElse CST_Produt = [Ô]00[Ô] OrElse CST_Produt = [Ô]20[Ô] OrElse CST_Produt = [Ô]20[Ô] Then
cmbICMS.Text = [Ô]1- Tributado[Ô]
End If

If CST_Produt = [Ô]10[Ô] OrElse CST_Produt = [Ô]30[Ô] OrElse CST_Produt = [Ô]60[Ô] OrElse CST_Produt = [Ô]70[Ô] OrElse CST_Produt = [Ô]201[Ô] OrElse CST_Produt = [Ô]202[Ô] OrElse CST_Produt = [Ô]203[Ô] OrElse CST_Produt = [Ô]500[Ô] Then
cmbICMS.Text = [Ô]2- Substituição Tributária[Ô]
End If

cmbTipoItem.Text = TipoItem

If NFeCodProd <> [Ô][Ô] Then
txtCodigo.Text = NFeCodProd
End If

If codProdtCompr = [Ô][Ô] Then
[ô]txtCodigo.Text = [Ô]NOVO[Ô]
Else
txtCodigo.Text = codProdtCompr
End If
End Sub

Não sei o que faz essa função PLimpaCampos - Se for somente para limpar os campos, vc poderia iniciar o formulário com os campos limpos. Isso evitaria muitos códigos talvez....

Mas mais uma vez reforço... Verifique se vc não está executadno códigos em redundância no evento selectedchanged. Principalmente se for acesso a Banco de dados. Isso causa um tremendo estrago na performance do teu aplicativo....

Procure usar o evento validate



VLw brother deu certo :D diminuiu a lentidão :D
heheh obg ...
obg a todos :D vlw mesmo broher PLUGSOFTSM

PRecisando estamos as ordens :D
Página 2 de 3 [21 registro(s)]
Tópico encerrado , respostas não são mais permitidas