new TraceForm for monitoring renders
This commit is contained in:
parent
f3662ecc7e
commit
3f5e7e6a72
133
2.10/Source/Tracer.dfm
Normal file
133
2.10/Source/Tracer.dfm
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
object TraceForm: TTraceForm
|
||||||
|
Left = 36
|
||||||
|
Top = 159
|
||||||
|
Width = 411
|
||||||
|
Height = 527
|
||||||
|
Caption = 'Trace'
|
||||||
|
Color = clBtnFace
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clWindowText
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'MS Sans Serif'
|
||||||
|
Font.Style = []
|
||||||
|
Icon.Data = {
|
||||||
|
0000010001001010000000000800680500001600000028000000100000002000
|
||||||
|
0000010008000000000000010000000000000000000000010000000100000000
|
||||||
|
0000000080000080000000808000800000008000800080800000C0C0C000C0DC
|
||||||
|
C000F0CAA60004040400080808000C0C0C0011111100161616001C1C1C002222
|
||||||
|
220029292900555555004D4D4D004242420039393900807CFF005050FF009300
|
||||||
|
D600FFECCC00C6D6EF00D6E7E70090A9AD000000330000006600000099000000
|
||||||
|
CC00003300000033330000336600003399000033CC000033FF00006600000066
|
||||||
|
330000666600006699000066CC000066FF000099000000993300009966000099
|
||||||
|
99000099CC000099FF0000CC000000CC330000CC660000CC990000CCCC0000CC
|
||||||
|
FF0000FF660000FF990000FFCC00330000003300330033006600330099003300
|
||||||
|
CC003300FF00333300003333330033336600333399003333CC003333FF003366
|
||||||
|
00003366330033666600336699003366CC003366FF0033990000339933003399
|
||||||
|
6600339999003399CC003399FF0033CC000033CC330033CC660033CC990033CC
|
||||||
|
CC0033CCFF0033FF330033FF660033FF990033FFCC0033FFFF00660000006600
|
||||||
|
330066006600660099006600CC006600FF006633000066333300663366006633
|
||||||
|
99006633CC006633FF00666600006666330066666600666699006666CC006699
|
||||||
|
00006699330066996600669999006699CC006699FF0066CC000066CC330066CC
|
||||||
|
990066CCCC0066CCFF0066FF000066FF330066FF990066FFCC00CC00FF00FF00
|
||||||
|
CC009999000099339900990099009900CC009900000099333300990066009933
|
||||||
|
CC009900FF00996600009966330099336600996699009966CC009933FF009999
|
||||||
|
330099996600999999009999CC009999FF0099CC000099CC330066CC660099CC
|
||||||
|
990099CCCC0099CCFF0099FF000099FF330099CC660099FF990099FFCC0099FF
|
||||||
|
FF00CC00000099003300CC006600CC009900CC00CC0099330000CC333300CC33
|
||||||
|
6600CC339900CC33CC00CC33FF00CC660000CC66330099666600CC669900CC66
|
||||||
|
CC009966FF00CC990000CC993300CC996600CC999900CC99CC00CC99FF00CCCC
|
||||||
|
0000CCCC3300CCCC6600CCCC9900CCCCCC00CCCCFF00CCFF0000CCFF330099FF
|
||||||
|
6600CCFF9900CCFFCC00CCFFFF00CC003300FF006600FF009900CC330000FF33
|
||||||
|
3300FF336600FF339900FF33CC00FF33FF00FF660000FF663300CC666600FF66
|
||||||
|
9900FF66CC00CC66FF00FF990000FF993300FF996600FF999900FF99CC00FF99
|
||||||
|
FF00FFCC0000FFCC3300FFCC6600FFCC9900FFCCCC00FFCCFF00FFFF3300CCFF
|
||||||
|
6600FFFF9900FFFFCC006666FF0066FF660066FFFF00FF666600FF66FF00FFFF
|
||||||
|
66002100A5005F5F5F00777777008686860096969600CBCBCB00B2B2B200D7D7
|
||||||
|
D700DDDDDD00E3E3E300EAEAEA00F1F1F100F8F8F800F0FBFF00A4A0A0008080
|
||||||
|
80000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
|
||||||
|
000000000000000000000000000000000000000000000000000000000000AC12
|
||||||
|
1212121212121212121212F70000AC000000000000000000000000120000AC00
|
||||||
|
0000000000000000000000120000AC00FA00FAFA00FA0000000000120000AC00
|
||||||
|
0000000000000000000000120000AC00FAFA00FAFAFA00FA000000120000AC00
|
||||||
|
0000000000000000000000120000AC00FA00FAFA00FAFA00000000120000AC00
|
||||||
|
0000000000000000000000120000AC000000000000000000000000120000ACAC
|
||||||
|
ACACACACACACACACACACACAC0000ACFF090909090909090909FFADFF0000ACAC
|
||||||
|
ACACACACACACACACACACACACAC0000000000000000000000000000000000FFFF
|
||||||
|
0000000100000001000000010000000100000001000000010000000100000001
|
||||||
|
0000000100000001000000010000000100000001000000010000FFFF0000}
|
||||||
|
OldCreateOrder = False
|
||||||
|
OnClose = FormClose
|
||||||
|
OnCreate = FormCreate
|
||||||
|
DesignSize = (
|
||||||
|
403
|
||||||
|
499)
|
||||||
|
PixelsPerInch = 96
|
||||||
|
TextHeight = 13
|
||||||
|
object PageControl1: TPageControl
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 403
|
||||||
|
Height = 499
|
||||||
|
ActivePage = TabMain
|
||||||
|
Align = alClient
|
||||||
|
Images = MainForm.Buttons
|
||||||
|
TabOrder = 0
|
||||||
|
object TabMain: TTabSheet
|
||||||
|
Caption = 'Main'
|
||||||
|
ImageIndex = 47
|
||||||
|
object MainTrace: TMemo
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 395
|
||||||
|
Height = 470
|
||||||
|
Align = alClient
|
||||||
|
Color = clBlack
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clLime
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Courier New'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
|
ReadOnly = True
|
||||||
|
ScrollBars = ssVertical
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object TabFullscreen: TTabSheet
|
||||||
|
Caption = 'Fullscreen'
|
||||||
|
ImageIndex = 52
|
||||||
|
object FullscreenTrace: TMemo
|
||||||
|
Left = 0
|
||||||
|
Top = 0
|
||||||
|
Width = 395
|
||||||
|
Height = 468
|
||||||
|
Align = alClient
|
||||||
|
Color = clBlack
|
||||||
|
Font.Charset = DEFAULT_CHARSET
|
||||||
|
Font.Color = clLime
|
||||||
|
Font.Height = -11
|
||||||
|
Font.Name = 'Courier New'
|
||||||
|
Font.Style = []
|
||||||
|
ParentFont = False
|
||||||
|
ReadOnly = True
|
||||||
|
ScrollBars = ssVertical
|
||||||
|
TabOrder = 0
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
object cbTraceLevel: TComboBox
|
||||||
|
Left = 280
|
||||||
|
Top = 0
|
||||||
|
Width = 121
|
||||||
|
Height = 21
|
||||||
|
Style = csDropDownList
|
||||||
|
Anchors = [akTop, akRight]
|
||||||
|
ItemHeight = 13
|
||||||
|
TabOrder = 1
|
||||||
|
OnSelect = cbTraceLevelSelect
|
||||||
|
Items.Strings = (
|
||||||
|
'No trace'
|
||||||
|
'Minimal trace'
|
||||||
|
'Full trace')
|
||||||
|
end
|
||||||
|
end
|
123
2.10/Source/Tracer.pas
Normal file
123
2.10/Source/Tracer.pas
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
{
|
||||||
|
Apophysis Copyright (C) 2001-2004 Mark Townsend
|
||||||
|
Apophysis Copyright (C) 2005-2006 Ronald Hordijk, Piotr Borys, Peter Sdobnov
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
}
|
||||||
|
unit Tracer;
|
||||||
|
|
||||||
|
interface
|
||||||
|
|
||||||
|
uses
|
||||||
|
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||||
|
Dialogs, StdCtrls, ComCtrls;
|
||||||
|
|
||||||
|
type
|
||||||
|
TTraceForm = class(TForm)
|
||||||
|
PageControl1: TPageControl;
|
||||||
|
TabMain: TTabSheet;
|
||||||
|
TabFullscreen: TTabSheet;
|
||||||
|
FullscreenTrace: TMemo;
|
||||||
|
cbTraceLevel: TComboBox;
|
||||||
|
MainTrace: TMemo;
|
||||||
|
procedure cbTraceLevelSelect(Sender: TObject);
|
||||||
|
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
procedure FormCreate(Sender: TObject);
|
||||||
|
private
|
||||||
|
{ Private declarations }
|
||||||
|
public
|
||||||
|
{ Public declarations }
|
||||||
|
end;
|
||||||
|
|
||||||
|
var
|
||||||
|
TraceForm: TTraceForm;
|
||||||
|
|
||||||
|
var
|
||||||
|
TraceLevel: integer;
|
||||||
|
|
||||||
|
const
|
||||||
|
MsgComplete = '< Received WM_THREAD_COMPLETE from RenderThread #';
|
||||||
|
MsgTerminated = '< Received WM_THREAD_TERMINATE from RenderThread #';
|
||||||
|
MsgNotAssigned = 'Ignoring message: RenderThread does not exist';
|
||||||
|
MsgAnotherRunning = 'Ignoring message: another RenderThread is running';
|
||||||
|
|
||||||
|
implementation
|
||||||
|
|
||||||
|
{$R *.dfm}
|
||||||
|
|
||||||
|
uses
|
||||||
|
Registry,
|
||||||
|
Global, Main;
|
||||||
|
|
||||||
|
procedure TTraceForm.cbTraceLevelSelect(Sender: TObject);
|
||||||
|
begin
|
||||||
|
TraceLevel := cbTraceLevel.ItemIndex;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTraceForm.FormCreate(Sender: TObject);
|
||||||
|
var
|
||||||
|
Registry: TRegistry;
|
||||||
|
begin
|
||||||
|
{ Read position from registry }
|
||||||
|
Registry := TRegistry.Create;
|
||||||
|
try
|
||||||
|
Registry.RootKey := HKEY_CURRENT_USER;
|
||||||
|
if Registry.OpenKey('Software\' + APP_NAME + '\Forms\Trace', False) then
|
||||||
|
begin
|
||||||
|
if Registry.ValueExists('Top') then
|
||||||
|
self.Top := Registry.ReadInteger('Top');
|
||||||
|
if Registry.ValueExists('Left') then
|
||||||
|
self.Left := Registry.ReadInteger('Left');
|
||||||
|
if Registry.ValueExists('Width') then
|
||||||
|
self.Width := Registry.ReadInteger('Width');
|
||||||
|
if Registry.ValueExists('Height') then
|
||||||
|
self.Height := Registry.ReadInteger('Height');
|
||||||
|
|
||||||
|
if Registry.ValueExists('TraceLevel') then
|
||||||
|
TraceLevel := Registry.ReadInteger('TraceLevel');
|
||||||
|
end;
|
||||||
|
Registry.CloseKey;
|
||||||
|
finally
|
||||||
|
Registry.Free;
|
||||||
|
end;
|
||||||
|
|
||||||
|
cbTraceLevel.ItemIndex := TraceLevel;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TTraceForm.FormClose(Sender: TObject; var Action: TCloseAction);
|
||||||
|
var
|
||||||
|
Registry: TRegistry;
|
||||||
|
begin
|
||||||
|
{ Write position to registry }
|
||||||
|
Registry := TRegistry.Create;
|
||||||
|
try
|
||||||
|
Registry.RootKey := HKEY_CURRENT_USER;
|
||||||
|
if Registry.OpenKey('\Software\' + APP_NAME + '\Forms\Trace', True) then
|
||||||
|
begin
|
||||||
|
if self.WindowState <> wsMaximized then begin
|
||||||
|
Registry.WriteInteger('Top', self.Top);
|
||||||
|
Registry.WriteInteger('Left', self.Left);
|
||||||
|
Registry.WriteInteger('Width', self.Width);
|
||||||
|
Registry.WriteInteger('Height', self.Height);
|
||||||
|
|
||||||
|
Registry.WriteInteger('TraceLevel', TraceLevel);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
finally
|
||||||
|
Registry.Free;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
end.
|
Loading…
Reference in New Issue
Block a user