opengl+gel.world: Performance mods.

This commit is contained in:
Rod Kay
2024-08-18 11:31:26 +10:00
parent cd004acd69
commit 77d92d5e3b
5 changed files with 31 additions and 22 deletions

View File

@@ -191,7 +191,7 @@ is
is
use Model;
free_Models : graphics_Models;
free_Models : graphics_Models with Convention => C; -- Convention C is for performance.
Last : Natural;
begin
Self.obsolete_Models.fetch (free_Models, Last);
@@ -208,7 +208,7 @@ is
is
use Impostor;
free_Impostors : Impostor_Set;
free_Impostors : Impostor_Set with Convention => C; -- Convention C is for performance.
Last : Natural;
begin
Self.obsolete_Impostors.fetch (free_Impostors, Last);

View File

@@ -208,10 +208,15 @@ private
type visual_geometry_Couples_view is access all visual_geometry_Couples;
-- graphics_Models
--- graphics_Models
--
type graphics_Models is array (1 .. max_Visuals) of Model.view;
-- Convention C is for performance.
--
type graphics_Models is array (1 .. max_Visuals) of Model.view
with Convention => C;
protected
type safe_Models
@@ -228,7 +233,11 @@ private
-- Impostors
--
type Impostor_Set is array (1 .. max_Visuals) of Impostor.view;
-- Convention C is for performance.
--
type Impostor_Set is array (1 .. max_Visuals) of Impostor.view
with Convention => C;
protected
type safe_Impostors

View File

@@ -546,8 +546,8 @@ is
is
use type remote.World.sequence_Id;
all_Sprites : constant id_Maps_of_sprite.Map := Self.all_Sprites.Map.fetch_all;
the_Id : gel.sprite_Id;
all_Sprites : id_Maps_of_sprite.Map renames Self.all_Sprites.Map.fetch_all;
the_Id : gel.sprite_Id;
begin
if seq_Id > Self.seq_Id.Value
@@ -624,9 +624,9 @@ is
use id_Maps_of_sprite;
-- all_Sprites : constant id_Maps_of_sprite.Map := Self.id_Map_of_sprite;
all_Sprites : constant id_Maps_of_sprite.Map := Self.all_Sprites.Map.fetch_all;
Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_Sprite : gel.Sprite.view;
all_Sprites : id_Maps_of_sprite.Map renames Self.all_Sprites.Map.fetch_all;
Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_Sprite : gel.Sprite.view;
begin
while has_Element (Cursor)

View File

@@ -168,8 +168,8 @@ is
use id_Maps_of_sprite,
remote.World;
all_Sprites : constant id_Maps_of_sprite.Map := Self.all_Sprites.fetch;
Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
all_Sprites : id_Maps_of_sprite.Map renames Self.all_Sprites.fetch;
Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_Sprite : gel.Sprite.view;

View File

@@ -615,8 +615,8 @@ is
is
use id_Maps_of_sprite;
all_Sprites : constant id_Maps_of_sprite.Map := Self.all_Sprites.fetch;
Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
all_Sprites : id_Maps_of_sprite.Map renames Self.all_Sprites.fetch;
Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_sprite_Transforms : sprite_transform_Pairs (1 .. Natural (all_Sprites.Length)) := (others => <>);
Count : Natural := 0;
@@ -959,9 +959,9 @@ is
declare
use id_Maps_of_sprite;
all_Sprites : constant id_Maps_of_sprite.Map := Item'Class (Self).all_Sprites.fetch;
Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_Sprite : Sprite.view;
all_Sprites : id_Maps_of_sprite.Map renames Item'Class (Self).all_Sprites.fetch;
Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_Sprite : Sprite.view;
begin
while has_Element (Cursor)
loop
@@ -1036,11 +1036,11 @@ is
use id_Maps_of_sprite,
lace.Text;
all_Sprites : constant id_Maps_of_sprite.Map := Item'Class (Self).all_Sprites.fetch;
Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_Pairs : remote.World.sprite_model_Pairs (1 .. Natural (all_Sprites.Length));
the_Sprite : Sprite.view;
i : Natural := 0;
all_Sprites : id_Maps_of_sprite.Map renames Item'Class (Self).all_Sprites.fetch;
Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_Pairs : remote.World.sprite_model_Pairs (1 .. Natural (all_Sprites.Length));
the_Sprite : Sprite.view;
i : Natural := 0;
begin
while has_Element (Cursor)
loop