Скорость работы приложения!

Тема в разделе "Другие", создана пользователем Rjkz, 8 апр 2008.

  1. Rjkz

    Rjkz Гость

    Написал програмку
    Код (Text):
     
    unit unitSpeed1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, ExtCtrls, MPlayer, StdCtrls;

    type
    TForm1 = class(TForm)
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form1: TForm1;
    bm: TBitMap;
    s: String;
    Hour, Min, Sec, MSec: Word;
    DMin,DSec    : Word;
    int,int2:integer;
    implementation

    {$R *.dfm}

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    bm := TBitMap.Create;
    bm.Width := 1024;
    bm.Height :=1500;
    end;

    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    DecodeTime(Time, Hour, Min, Sec, MSec);

    If Int=0 then
    begin
    DMin:=Min;
    DSec:=Sec+1;
    If DSec>=60 then DSec:=DSec-60;
    Int:=1;
    end;

    int:=int+1;
    s := TimeToStr(time);
    bm.Canvas.TextOut(100,100, s);
    bm.Canvas.TextOut(100,125,'                              ');
    bm.Canvas.TextOut(100,125, inttostr(DMin)+'>>'+inttostr(DSec));
    If(Sec=Dsec) then
    begin
    Bm.Canvas.Pen.Color:=Random(16777216);
    bm.Canvas.TextOut(100,150,'                              ');
    bm.Canvas.TextOut(100,150,inttostr(Int));

    Bm.Canvas.Moveto(Int2,0);
    Bm.Canvas.LineTo(Int2,Int);
    Int2:=int2+1;
    If Int2>Form1.Width-20 then begin Int2:=0; Bm.Canvas.Rectangle(-1,-1,700,800);end;
    int:=0;
    end;



    Form1.Canvas.Draw(0, 0, bm);

    end;


    procedure TForm1.FormDestroy(Sender: TObject);
    begin
    bm.Destroy;
    end;

    end.
    Почему в WindowsMe или Windows98 при движении мышкой по элементам имеющим всплывающие подсказки Hint по непонятным причинам начинает увиличиваться значение переменной (Int) обычно значение равно 20 но при шивилинии мышкой по элементам с Hint делать какой нить программой то может достигать и 1600, а в WindowsXP значение постоянно и равно 65 , я так понемаю это всё дело в планировщике задач который чаще и надолще отдаёт на приложения квант времени ,,подскажите как программно это можно делать самому,,чтоб на определёную программу задавать и квант времени передовался ей на больше времени и чаще ?
     
  2. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Для влияния на количество выделяемых квантов используется механизм изменения приоритетов потоков
     
  3. Rjkz

    Rjkz Гость

    European в WindowsME изменения приоритетов потоков нет,,,а в ХР не как не повлеяло и значение перемеменной (Int) так и остовалось на значении 65 :)
     
  4. Pasha

    Pasha Гость

    Rjkz
    Судя по коду в первом сообщении, ты думаешь что вызов Timer1Timer - это и есть выделение приложению кванта времени? Вообще-то таймер срабатывает через равные промежутки времени - те самые 65 чего-то там, а планировщик задач не имеет к таймерам почти никакого отношения.
     
  5. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    Вы ошибаетесь
     
Загрузка...
Похожие Темы - Скорость работы приложения
  1. KiR
    Ответов:
    3
    Просмотров:
    3.255
  2. swyatogor
    Ответов:
    48
    Просмотров:
    2.082
  3. aameno2
    Ответов:
    21
    Просмотров:
    1.197
  4. phil124
    Ответов:
    0
    Просмотров:
    1.113
  5. JAR
    Ответов:
    0
    Просмотров:
    1.444

Поделиться этой страницей