APLICA?ÃO MUITO LENTO
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 :(
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!
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 :(
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.
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
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
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
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