Delphi > Firemonkey

Firemonkey 3D je pomalé

<< < (3/7) > >>

age.new:

--- Citace: chaloup  18-01-2021, 12:38:33 ---
--- Citace: age.new  18-01-2021, 11:38:16 ---Tak tento článek jsem dnes ráno četl :) ....

--- Konce citace ---

A co teda tvůj program používá za canvas?

--- Konce citace ---

No to nevím. Pro 2D je to TCanvas2D. Pro 3D nevím. Ten článek je dost starý a nevím zda vůbec zohledňuje 3D.

Radek Červinka:

--- Citace: age.new  18-01-2021, 15:00:07 ---
--- Citace: Radek Červinka  18-01-2021, 13:31:35 ---A kolik je SLines polozek?

--- Konce citace ---

SLines položek je cca 56000.

--- Konce citace ---

Pouzij primo Context.DrawLines, tj. neco jako


--- Kód: Delphi ---OnRender:var  Ver: TVertexBuffer;  Idx: TIndexBuffer;  Mat: TColorMaterial;begin  Idx := nil;  Ver := nil;  Mat := nil;  try    Ver := TVertexBuffer.Create([TVertexFormat.Vertex], 2);    Idx := TIndexBuffer.Create(2);    Mat := TColorMaterial.Create;    Mat.Color := Color;    Idx[0] := 0;    Idx[1] := 1;     for i := 0 to length(SLines) - 1 do      with SLines[i] dobegin    Ver.Vertices[0] := TPoint3D.Create(BeginX, BeginY, 0);    Ver.Vertices[1] := TPoint3D.Create(EndX, EndY, 0);    Context.DrawLines(Ver, Idx, Mat, Opacity);end;   finally    Idx.Free;    Ver.Free;    Mat.Free;  end; tim se usetri IMHO spousta casu.

ps: pisu to z hlavy, takze pripadne syntax errory toleruj

Radek Červinka:
a zapomnel jsem na Context.BeginScene a spol.

age.new:

--- Citace: Radek Červinka  18-01-2021, 15:57:45 ---a zapomnel jsem na Context.BeginScene a spol.

--- Konce citace ---

Vyzkoušel jsem a je vidět drobné zrychlení. Pořád je to ale pod 1FPS což je mizérie. Podařilo se mi rozběhat OpenGL pod FMX s renderováním do panelu tak jako u VCL, takže Firemonkey 3D prozatím zavrhuji. 

age.new:

--- Citace: Radek Červinka  18-01-2021, 15:57:45 ---a zapomnel jsem na Context.BeginScene a spol.

--- Konce citace ---

Možná by ještě pomohlo vypnutí AntiAliasingu pro Viewport3D. Čáry to kreslí sice hezké, ale mají tloušťku cca 3 pixely vlivem AntiAliasingu. Nenašel jsem ale nic, čím by to šlo vypnout. Nevíte, jak by šlo toto změnit, popřípadě jinak ubrat na kvalitě za účelem získání lepší rychlosti?

Děkuji.

Navigace

[0] Seznam témat

[#] Další strana

[*] Předchozí strana

Přejít na plnou verzi