Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2010, 21:18   #1
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию Загрузка процессора в режиме НЕ отладчик

Когда запускаю под [LAZARUS] отладчиком - загрузка процессора 0% (на чистом API прога).

А когда в реальном режиме - 15%!!!

В чем может быть дело и как избавиться от этого?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 10.09.2010, 21:28   #2
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

А это как?
Ваша прога постоянно грузит проц. на 15 процентов (в режиме бездействия)? Или там расчеты какие-то идут?
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab

Последний раз редактировалось ex.cluz; 10.09.2010 в 21:46.
ex.cluz вне форума Ответить с цитированием
Старый 10.09.2010, 21:34   #3
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Да, постоянно! Причем на деле прога написана на чисто API и есть только таймер, который отрисовывает интерфейс.

Да, и еще кое что - это случается через раз.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 10.09.2010, 21:47   #4
ex.cluz
Участник клуба
 
Аватар для ex.cluz
 
Регистрация: 15.01.2010
Сообщений: 1,325
По умолчанию

Контролов много? Отрисовывает часто?
Грибы - они разные. Один тебя накормит, другой тебе кино покажет...
Редактор журнала "
[ПРОграммист]"
Yan's Home Digital Lab
ex.cluz вне форума Ответить с цитированием
Старый 11.09.2010, 09:18   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Только один - TImage, отрисовка достаточно часто. Но ведь под отладчиком 0. И через раз в реале 0.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 11.09.2010, 14:19   #6
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Ошибка в 13-й строке.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 11.09.2010, 14:50   #7
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Да, понимаю, даю мало информации и самое время гадать.

Код:
 UNTProcs.GetCurDir; // Определяю текущую директорию и пишу её в переменную
 UNTProcs.LoadConf; // Гружу конфигурационный файл в record
 UNTProcs.CalculatePos; // определяю границы формы
 UNTProcs.RegisterApp; // Регистрирую приложение
 UNTProcs.CreateMainWindow; // Создаю главное окно и имагу на нем
 UNTProcs.LoadBitMaps; // Гружу кнопки (*.bmp -> HBitMap)
 UNTProcs.LoadContBits; // Гружу куски контейнера (*.bmp -> HBitMap)
 UNTProcs.LoadLight; // Гружу картинку подсветки кнопки
 UNTProcs.LoadHint; // Гружу картинку подсказки
 UNTProcs.GetMouseCPStart; // Запоминаю позицию мыши
 UNTProcs.ShowSquary; // Вывожу форму на экран

 Timer0ID := SetTimer(0, 0, TIMER_0_FREQ, @UNTHand.Timer0); // Ставлю таймер

 While (GetMessage(Application.MSG, 0, 0, 0)) do
  Begin
    TranslateMessage(Application.MSG);
    DispatchMessage(Application.MSG);
  End;
Код:
 Function WindowProc(HWND, Msg : LongWord; WParam, LParam: LongInt): LongInt; StdCall;
 Begin
  Result := DefWindowProc(HWND, Msg, WParam, LParam);
  Case Msg Of
   WM_MOUSEMOVE : UNTProcs.DrawAll;      // Full nude picture. //Полная отрисовка с подсветкой
   WM_PAINT     : UNTProcs.SetOnTop;     // Look at me! Look at me! Look at...
   WM_DESTROY   : UNTProcs.ShutDown;     // One shot - one frag!
  End;
 End;

 Procedure Timer0(hwnd : HWND; uMsg, idEvent : UINT; dwTime : DWORD); StdCall;
 Begin
  UNTProcs.DrawAllTimer;                 // Half-nude picture. It`s more sexy! // Частичная отрисовка
 End;
P.S. Английские коменты в коде реально, русские написал сейчас.

Код:
 Procedure DrawAll;
 Begin
  If GetMouseCP Then
   Begin
    UNTProcs.Draw(Warehouse.Pinker, 0, 0); // Рисую розовый фон (прозрачный будет)
    UNTProcs.DrawScreen; // Рисую кнопки
    UNTProcs.DrawLight; // Рисую подсветку
    UNTProcs.DrawHintText; // Рисую Текст подсказок
    UNTProcs.BufferDraw; // Вывожу буфер
   End;
 End;

 Procedure DrawAllTimer; // По таймеру рисую частично, чтобы не хавать время процессора.
 Begin
  If GetMouseCP Then
   Begin
    UNTProcs.Draw(Warehouse.Pinker, 0, 0);
    UNTProcs.DrawScreen;
    UNTProcs.BufferDraw;
   End;
 End;
Код:
 Function GetMouseCP : Boolean; // It`s a "Current Position"! Not CP!
 Var
  P : TPoint;
 Begin
  ZeroMemory(@P, SizeOf(P));
  GetCursorPos(P);
  P.X := P.X - Application.FRMMain.Left;
  P.Y := P.Y - Application.FRMMain.Top;
  If (P.X <> MouseP.X) Or (P.Y <> MouseP.Y) Then Result := TRUE
                                            Else Result := FALSE;
  MouseP := P;
 End;
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
...непонятная загрузка процессора... maxvip Операционные системы общие вопросы 9 12.04.2010 16:23
Загрузка процессора с выше 50% Talemir Общие вопросы Delphi 8 14.01.2010 22:34
ServerSocket загрузка процессора daxter Работа с сетью в Delphi 1 26.08.2009 15:25
Загрузка процессора Syred Общие вопросы Delphi 1 12.06.2008 22:15
Загрузка процессора Terran Общие вопросы Delphi 1 15.12.2007 22:27