renderthread priority control disabled
This commit is contained in:
parent
a98cf43f5c
commit
46277d04a2
@ -568,7 +568,9 @@ object RenderForm: TRenderForm
|
|||||||
Width = 73
|
Width = 73
|
||||||
Height = 17
|
Height = 17
|
||||||
Caption = 'Low priority'
|
Caption = 'Low priority'
|
||||||
|
Enabled = False
|
||||||
TabOrder = 10
|
TabOrder = 10
|
||||||
|
Visible = False
|
||||||
OnClick = chkThreadPriorityClick
|
OnClick = chkThreadPriorityClick
|
||||||
end
|
end
|
||||||
object SaveDialog: TSaveDialog
|
object SaveDialog: TSaveDialog
|
||||||
|
@ -511,19 +511,19 @@ begin
|
|||||||
|
|
||||||
Renderer := TRenderThread.Create;
|
Renderer := TRenderThread.Create;
|
||||||
assert(Renderer <> nil);
|
assert(Renderer <> nil);
|
||||||
|
{
|
||||||
if chkThreadPriority.Checked then
|
if chkThreadPriority.Checked then
|
||||||
Renderer.SetPriority(tpLower)
|
Renderer.SetPriority(tpLower)
|
||||||
else
|
else
|
||||||
Renderer.SetPriority(tpNormal);
|
Renderer.SetPriority(tpNormal);
|
||||||
|
}
|
||||||
Renderer.BitsPerSample := BitsPerSample;
|
Renderer.BitsPerSample := BitsPerSample;
|
||||||
if chkLimitMem.checked then
|
if chkLimitMem.checked then
|
||||||
Renderer.MaxMem := MaxMemory;//StrToInt(cbMaxMemory.text);
|
Renderer.MaxMem := MaxMemory;//StrToInt(cbMaxMemory.text);
|
||||||
Renderer.OnProgress := OnProgress;
|
Renderer.OnProgress := OnProgress;
|
||||||
Renderer.TargetHandle := self.Handle;
|
Renderer.TargetHandle := self.Handle;
|
||||||
Renderer.SetCP(cp);
|
Renderer.SetCP(cp);
|
||||||
//Renderer.Priority := tpLower;
|
Renderer.Priority := tpLower;
|
||||||
Renderer.NrThreads := NrTreads;
|
Renderer.NrThreads := NrTreads;
|
||||||
Renderer.Output := Output.Lines;
|
Renderer.Output := Output.Lines;
|
||||||
Renderer.Resume;
|
Renderer.Resume;
|
||||||
@ -584,12 +584,12 @@ begin
|
|||||||
|
|
||||||
Renderer := TRenderThread.Create;
|
Renderer := TRenderThread.Create;
|
||||||
assert(Renderer <> nil);
|
assert(Renderer <> nil);
|
||||||
|
{
|
||||||
if chkThreadPriority.Checked then
|
if chkThreadPriority.Checked then
|
||||||
Renderer.SetPriority(tpLower)
|
Renderer.SetPriority(tpLower)
|
||||||
else
|
else
|
||||||
Renderer.SetPriority(tpNormal);
|
Renderer.SetPriority(tpNormal);
|
||||||
|
}
|
||||||
Renderer.BitsPerSample := BitsPerSample;
|
Renderer.BitsPerSample := BitsPerSample;
|
||||||
if chkLimitMem.checked then
|
if chkLimitMem.checked then
|
||||||
Renderer.MaxMem := MaxMemory;//StrToInt(cbMaxMemory.text);
|
Renderer.MaxMem := MaxMemory;//StrToInt(cbMaxMemory.text);
|
||||||
@ -598,7 +598,7 @@ begin
|
|||||||
// Renderer.Output := Output.Lines;
|
// Renderer.Output := Output.Lines;
|
||||||
// Renderer.Compatibility := compatibility;
|
// Renderer.Compatibility := compatibility;
|
||||||
Renderer.SetCP(cp);
|
Renderer.SetCP(cp);
|
||||||
//Renderer.Priority := tpLower;
|
Renderer.Priority := tpLower;
|
||||||
Renderer.NrThreads := NrTreads;
|
Renderer.NrThreads := NrTreads;
|
||||||
|
|
||||||
Renderer.Output := Output.Lines;
|
Renderer.Output := Output.Lines;
|
||||||
@ -1056,12 +1056,14 @@ procedure TRenderForm.chkThreadPriorityClick(Sender: TObject);
|
|||||||
begin
|
begin
|
||||||
LowerRenderPriority := chkThreadPriority.Checked;
|
LowerRenderPriority := chkThreadPriority.Checked;
|
||||||
|
|
||||||
|
{
|
||||||
if Assigned(Renderer) then begin
|
if Assigned(Renderer) then begin
|
||||||
if LowerRenderPriority then
|
if LowerRenderPriority then
|
||||||
Renderer.SetPriority(tpLower)
|
Renderer.SetPriority(tpLower)
|
||||||
else
|
else
|
||||||
Renderer.SetPriority(tpNormal);
|
Renderer.SetPriority(tpNormal);
|
||||||
end;
|
end;
|
||||||
|
}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@ -172,8 +172,8 @@ var
|
|||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
|
|
||||||
for i := 0 to High(WorkingThreads) do
|
//for i := 0 to High(WorkingThreads) do
|
||||||
WorkingThreads[i].Priority := p;
|
// WorkingThreads[i].Priority := p;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
@ -181,7 +181,7 @@ function TBaseMTRenderer.NewThread: TBucketFillerThread;
|
|||||||
begin
|
begin
|
||||||
Result := TBucketFillerThread.Create(fcp);
|
Result := TBucketFillerThread.Create(fcp);
|
||||||
assert(Result<>nil);
|
assert(Result<>nil);
|
||||||
Result.Priority := FThreadPriority;
|
//Result.Priority := FThreadPriority;
|
||||||
|
|
||||||
if FCP.FAngle = 0 then
|
if FCP.FAngle = 0 then
|
||||||
Result.AddPointsProc := self.AddPointsToBuckets
|
Result.AddPointsProc := self.AddPointsToBuckets
|
||||||
|
@ -204,7 +204,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
FRenderer.SetCP(FCP);
|
FRenderer.SetCP(FCP);
|
||||||
FRenderer.SetThreadPriority(self.Priority);
|
// FRenderer.SetThreadPriority(self.Priority);
|
||||||
// FRenderer.compatibility := compatibility;
|
// FRenderer.compatibility := compatibility;
|
||||||
FRenderer.MinDensity := FMinDensity;
|
FRenderer.MinDensity := FMinDensity;
|
||||||
FRenderer.OnProgress := FOnProgress;
|
FRenderer.OnProgress := FOnProgress;
|
||||||
|
@ -1973,7 +1973,6 @@ procedure TOperationLibrary.DeleteTransformProc(AMachine: TatVirtualMachine);
|
|||||||
var
|
var
|
||||||
i, j: integer;
|
i, j: integer;
|
||||||
begin
|
begin
|
||||||
if NumTransforms > 0 then
|
|
||||||
try
|
try
|
||||||
// I'm not sure, but *maybe* this will help scripts not to screw up finalXform
|
// I'm not sure, but *maybe* this will help scripts not to screw up finalXform
|
||||||
if ActiveTransform = NumTransforms then
|
if ActiveTransform = NumTransforms then
|
||||||
@ -1984,30 +1983,28 @@ begin
|
|||||||
scriptEditor.cp.finalXformEnabled := false;
|
scriptEditor.cp.finalXformEnabled := false;
|
||||||
exit;
|
exit;
|
||||||
end;
|
end;
|
||||||
if ActiveTransform = (NumTransforms - 1) then
|
if NumTransforms <= 1 then exit;
|
||||||
{ Last triangle...just reduce number}
|
|
||||||
begin
|
// delete xform from all probability tables
|
||||||
|
for i := 0 to NumTransforms-1 do
|
||||||
|
with scriptEditor.cp.xform[i] do begin
|
||||||
|
for j := ActiveTransform to NumTransforms-1 do
|
||||||
|
modWeights[j] := modWeights[j+1];
|
||||||
|
modWeights[NumTransforms-1] := 1;
|
||||||
|
end;
|
||||||
|
//
|
||||||
|
|
||||||
|
with scriptEditor.cp do begin
|
||||||
|
if ActiveTransform = (NumTransforms - 1) then
|
||||||
|
Dec(ActiveTransform)
|
||||||
|
else begin
|
||||||
|
for i := ActiveTransform to NumTransforms - 2 do
|
||||||
|
xform[i].Assign(xform[i + 1]);
|
||||||
|
end;
|
||||||
Dec(NumTransforms);
|
Dec(NumTransforms);
|
||||||
ActiveTransform := NumTransforms - 1;
|
xform[NumTransforms].Assign(xform[NumTransforms+1]);
|
||||||
// scriptEditor.cp.xform[NumTransforms].density := 0;
|
xform[NumTransforms+1].Clear;
|
||||||
scriptEditor.cp.xform[NumTransforms].Assign(scriptEditor.cp.xform[NumTransforms+1]);
|
end;
|
||||||
end
|
|
||||||
else
|
|
||||||
begin
|
|
||||||
for i := ActiveTransform to NumTransforms - 2 do
|
|
||||||
scriptEditor.cp.xform[i].Assign(scriptEditor.cp.xform[i + 1]);
|
|
||||||
{ begin
|
|
||||||
// copy higher transforms down
|
|
||||||
ScriptEditor.cp.xform[i].density := ScriptEditor.cp.xform[i + 1].density;
|
|
||||||
ScriptEditor.cp.xform[i].color := ScriptEditor.cp.xform[i + 1].color;
|
|
||||||
ScriptEditor.cp.xform[i].symmetry := ScriptEditor.cp.xform[i + 1].symmetry;
|
|
||||||
for j := 0 to NRVAR - 1 do
|
|
||||||
ScriptEditor.cp.xform[i].vars[j] := ScriptEditor.cp.xform[i + 1].vars[j];
|
|
||||||
end;}
|
|
||||||
NumTransforms := NumTransforms - 1;
|
|
||||||
// ScriptEditor.cp.xform[Numtransforms].density := 0;
|
|
||||||
scriptEditor.cp.xform[NumTransforms].Assign(scriptEditor.cp.xform[NumTransforms+1]);
|
|
||||||
end
|
|
||||||
except
|
except
|
||||||
begin
|
begin
|
||||||
Application.ProcessMessages;
|
Application.ProcessMessages;
|
||||||
@ -2024,23 +2021,17 @@ var
|
|||||||
begin
|
begin
|
||||||
try
|
try
|
||||||
if NumTransforms < NXFORMS then
|
if NumTransforms < NXFORMS then
|
||||||
|
with ScriptEditor.cp do
|
||||||
begin
|
begin
|
||||||
old := ActiveTransform;
|
old := ActiveTransform;
|
||||||
ActiveTransform := NumTransforms;
|
ActiveTransform := NumTransforms;
|
||||||
inc(NumTransforms);
|
inc(NumTransforms);
|
||||||
ScriptEditor.cp.xform[NumTransforms].Assign(ScriptEditor.cp.xform[ActiveTransform]); // final xform
|
xform[NumTransforms].Assign(xform[ActiveTransform]); // final xform
|
||||||
ScriptEditor.cp.xform[ActiveTransform].Assign(ScriptEditor.cp.xform[old]);
|
xform[ActiveTransform].Assign(xform[old]);
|
||||||
{
|
|
||||||
ScriptEditor.cp.xform[ActiveTransform].c[0, 1] := ScriptEditor.cp.xform[old].c[0, 1];
|
for i := 0 to NumTransforms-1 do
|
||||||
ScriptEditor.cp.xform[ActiveTransform].c[1, 0] := ScriptEditor.cp.xform[old].c[1, 0];
|
xform[i].modWeights[ActiveTransform] := xform[i].modWeights[old];
|
||||||
ScriptEditor.cp.xform[ActiveTransform].c[1, 1] := ScriptEditor.cp.xform[old].c[1, 1];
|
xform[ActiveTransform].modWeights[ActiveTransform] := xform[old].modWeights[old];
|
||||||
ScriptEditor.cp.xform[ActiveTransform].c[2, 0] := ScriptEditor.cp.xform[old].c[2, 0];
|
|
||||||
ScriptEditor.cp.xform[ActiveTransform].c[2, 1] := ScriptEditor.cp.xform[old].c[2, 1];
|
|
||||||
ScriptEditor.cp.xform[ActiveTransform].color := ScriptEditor.cp.xform[old].color;
|
|
||||||
ScriptEditor.cp.xform[ActiveTransform].density := ScriptEditor.cp.xform[old].density;
|
|
||||||
for i := 0 to NRVAR - 1 do
|
|
||||||
ScriptEditor.cp.xform[ActiveTransform].vars[i] := ScriptEditor.cp.xform[old].vars[i]
|
|
||||||
}
|
|
||||||
end
|
end
|
||||||
else raise EFormatInvalid.Create('Too many transforms.');
|
else raise EFormatInvalid.Create('Too many transforms.');
|
||||||
except on E: EFormatInvalid do
|
except on E: EFormatInvalid do
|
||||||
|
Loading…
Reference in New Issue
Block a user