Como otimizar o tamanho e velocidade de aplicativos Visual Basic

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 73798
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Este artigo descreve como otimizar a aplicativos Visual Basic para tamanho e velocidade. Ele também fornece exemplos para métodos descritos no "Do programador do Visual Basic guia," Capítulo 11, "Otimizando seu aplicativo para tamanho e velocidade".

Para obter informações adicionais sobre este assunto, consulte os seguintes artigos na Base de dados de Conhecimento Microsoft:
112860Como otimizar o gerenciamento de memória em VB 3.0 para Windows
Mais Informações
A seguir estão diretrizes para ajudar a aumentar velocidade, recursos disponíveis, RAM disponível e espaço em disco disponível no Visual Basic:

AUMENTANDO A VELOCIDADE

Você pode aumentar a velocidade das seguintes maneiras:
  • Pré-carregar formulários.
  • Armazenar elementos gráficos como bitmaps.
  • Colocar rotinas de depuração em um módulo separado.
  • Use rotinas de biblioteca de vínculo dinâmico (DLL).
  • Usar inteiro e longas variáveis em vez de único, duplo ou variáveis de moeda.
  • Cache de propriedades freqüentemente acessadas em variáveis.

Exemplo 1: Demonstrando números inteiros versus variáveis simples em um loop

  1. Inicie o Visual Basic; ou escolha New Project no menu Arquivo (ALT + F, N) se o Visual Basic já estiver sendo executado. O Form1 é criado por padrão.
  2. Adicione dois botões de comando e dois rótulos para Form1.FRM.
  3. Adicione dois procedimentos a seguir à seção (Geral) de Form1.
       Sub Ints ()    Dim i As Integer    i = 1    Do Until i >= 5000         ' = 5000 iterations      label1.Caption = Str$(i)      i = i + 1      DoEvents    Loop   End Sub   Sub Reals ()    Dim r As Single    r = 1#    Do Until r <= 500          ' = 5000 iterations      label2.Caption = Str$(r)      r = r + .1      DoEvents    Loop   End Sub						
  4. Adicione o seguinte código no procedimento de evento Command1_Click:
       Sub Command1_Click ()    StartTime = Timer    Call Ints    EndTime = Timer    MsgBox "Time for Integer Loop was: " & CStr(EndTime - StartTime)   End Sub						
  5. Adicione o seguinte código no procedimento de evento Command2_Click:
       Sub Command2_Click ()    StartTime = Timer    Call Reals    EndTime = Timer    MsgBox "Time for Real Loop was: " & CStr(EndTime - StartTime)   End Sub						
  6. Execute a amostra. Primeiro verificar quanto tempo demora o loop inteiro para processar e depois testar quanto tempo demora o único loop para processar. Você verá que o loop inteiro é executado mais rapidamente.

Exemplo 2: Demonstrando propriedades armazenadas em cache no variáveis

  1. Inicie o Visual Basic; ou escolha New Project no menu Arquivo (ALT + F, N) se o Visual Basic já estiver sendo executado. O Form1 é criado por padrão.
  2. Adicione uma caixa de texto e dois botões de comando para Form1.FRM.
  3. Adicione o seguinte código no procedimento de evento Command1_Click:
       Sub Command1_Click ()    Open "datacons.txt" For Input As #1   ' Open test file.    nl$ = Chr$(13) + Chr$(10)    text1.Text = ""                       ' Clear the text box.    StartTime = Timer    Do Until EOF(1)                       ' Grab all data into text box.      Line Input #1, tmp$      text1.Text = text1.Text + tmp$ + nl$    Loop    EndTime = Timer    Close #1    MsgBox "Time for Text Loop was: " & CStr(EndTime - StartTime)   End Sub						
  4. Adicione o seguinte código no procedimento de evento Command2_Click:
       Sub Command2_Click ()    Dim buffer$    Open "datacons.txt" For Input As #1    ' Open test file.    nl$ = Chr$(13) + Chr$(10)    text1.Text = ""                        ' Clear the text box.    StartTime = Timer    Do Until EOF(1)                        ' Grab all data into text box.      Line Input #1, tmp$      buffer$ = buffer$ + tmp$ + nl$    Loop    text1.Text = buffer$    EndTime = Timer    Close #1    MsgBox "Time for Buffered Loop was: " & CStr(EndTime - StartTime)   End Sub						
  5. Execute a amostra. Primeiro verificar quanto tempo demora o loop de texto para processar e depois testar quanto tempo demora o buffer loop para processar. O loop em buffer deve ser executado muito mais rápido.

AUMENTAR A VELOCIDADE DE EXIBIÇÃO E VELOCIDADE APARENTE

Você pode aumentar velocidade de exibição e velocidade aparente das seguintes maneiras:

  • Desative a propriedade ClipControls em determinadas circunstâncias.
  • Use AutoRedraw somente quando necessário.
  • Use controles de imagem em vez de caixas de imagens.
  • Use controles de linha em vez do método PSet.
  • Pré-carregar formulários e mantê-los ocultos até que seja necessário.
  • Use indicadores de progresso quando apropriado.
  • Pré-carregar os dados padrão antes de mostrar um formulário.
  • Oculte controles podem redesenhar ao redefinir suas propriedades.
  • Use Mostrar no procedimento de evento Form_Load e reduzir o código neste evento.
  • Simplifica seu formulário de inicialização ou inicialização.
  • Não chame procedimentos em módulos de seu formulário de inicialização.

Exemplo 3: Demonstrando a técnica de ocultar controles

  1. Inicie o Visual Basic; ou escolha New Project no menu Arquivo (ALT + F, N) se o Visual Basic já estiver sendo executado. O Form1 é criado por padrão.
  2. Adicione uma matriz de controle de cinco caixas de texto a Form1.FRM.
  3. Adicione o seguinte procedimento de evento Form_Resize:
       Sub Form_Resize ()    Dim i As Integer    Dim ht As Integer    ht = Form1.ScaleHeight / 5    For i = 0 to 4      text1(i).Move 0, i * ht, Form1.ScaleWidth, ht    Next i   End Sub						
  4. Adicione o seguinte procedimento de evento Form_Load:
       Sub Form_Load ()    Dim buffer As String    Dim i As Integer    Open "datacons.txt" For Input As #1  ' Open test file.    buffer = Input(LOF(1), 1)            ' Grab all contents.    Close #1    For i = 0 to 4                       ' Place in the 5 text controls.      text1(i).Text = buffer    Next i   End Sub						
  5. Execute a amostra. Primeiro capturar o lado esquerdo do Form1 e movê-la para a esquerda, e em seguida, capturar a parte superior do Form1 e movê-lo para cima. Você deve ver cinco caixas de texto separado que está sendo re-painted.
  6. Para acelerar ou evitar quatro controles seja redesenhado, implemente as alterações listadas nas etapas 7 e 8, vá para executar a amostra com ações listadas na etapa 5, acima.
  7. Adicionar uma caixa de imagem; em seguida, dentro da caixa de imagem, adicionar uma matriz de controle de cinco caixas de texto para Picture1.
  8. Adicione o seguinte procedimento de evento Form_Resize:
       Sub Form_Resize ()    Dim i As Integer    Dim ht As Integer    Dim wd As Integer    wd = form1.ScaleWidth    picture1.Visible = False                    ' Hide the picture    picture1.Move 0, 0, wd, form1.ScaleHeight   ' and reposition it.    ht = form1.ScaleHeight / 5    For i = 0 To 4                              ' Now resize the text                                                ' boxes...     text1(i).Move 0, i * ht, wd, ht    Next i    picture1.Visible = True                   ' ...and show the picture.   End Sub						
Essa técnica adiciona um recurso com a caixa de imagem, mas ajuda com a velocidade aparente quando você redimensiona o formulário. Essa técnica torna seu aplicativo aparecem mais uniforme quando em execução.

Exemplo 4: Demonstrando Techique de um formulário de inicialização simples

Este exemplo mostra como implementar um formulário de inicialização ou faixa de vídeo para o seu programa. Neste exemplo, Form1 é a forma de inicialização e Form2 é o formulário principal do seu programa real do trabalho.

  1. Inicie o Visual Basic; ou escolha New Project no menu Arquivo (ALT + F, N) se o Visual Basic já estiver sendo executado. O Form1 é criado por padrão.
  2. Adicionar um segundo formulário para seu projeto, Form2.frm.
  3. Adicione o seguinte procedimento de evento Form_Load de Form1.frm:
       Sub Form_Load ()    Me.Show         ' Show the form.    Me.Refresh      ' Refresh needed to force repaint of labels, etc.    Load Form2      ' Load the actual working form.       ' Assign any default properties, values, etc., for Form2 here.    Form2.Show      ' Display main form.    Unload Me       ' Unload me.   End Sub						
  4. Execute esse exemplo. Isso exibirá seu Form1.FRM simples e carregar Form2.FRM no plano de fundo. Uma vez Form2.FRM é carregado e exibido, Form1.FRM é descarregado.

AUMENTAR OS RECURSOS DISPONÍVEIS

Você pode aumentar recursos disponíveis nos seguintes aspectos:

  • Crie controles simulados usando um objeto gráfico.
  • Desenhe imagens gráficas durante o tempo de execução.
  • Use o controle de imagem em vez de caixas de imagens.

AUMENTAR A RAM DISPONÍVEL

Aumente a RAM disponível das seguintes maneiras:

  • Use variáveis Integer sempre que possível.
  • Crie matrizes dinâmicas para liberar matrizes quando não for necessário.
  • Soltar ou descarregar controles e formulários quando eles não forem necessários.
  • Use variáveis de locais.

AUMENTAR O ESPAÇO EM DISCO

Você pode aumentar o espaço de disco das seguintes maneiras:

  • Crie controles em tempo de carga.
  • Minimize o tamanho do cabeçalho.
  • Exclua desnecessárias funções e sub-rotinas.
  • Exclua objetos não utilizados e métodos associados.
Referências
"Guia do programador do Visual Basic,"Capítulo 11,"Otimizando seu aplicativo para tamanho e velocidade".
2,00 3.00 rápida mais rápido

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 73798 - Última Revisão: 12/04/2015 09:08:51 - Revisão: 2.0

Microsoft Visual Basic 2.0 Standard Edition, Microsoft Visual Basic 3.0 Professional Edition, Microsoft Visual Basic 1.0 Standard Edition, Microsoft Visual Basic 2.0 Professional Edition, Microsoft Visual Basic 3.0 Professional Edition

  • kbnosurvey kbarchive kbmt KB73798 KbMtpt
Comentários