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,7 +546,7 @@ is
is
use type remote.World.sequence_Id;
all_Sprites : constant id_Maps_of_sprite.Map := Self.all_Sprites.Map.fetch_all;
all_Sprites : id_Maps_of_sprite.Map renames Self.all_Sprites.Map.fetch_all;
the_Id : gel.sprite_Id;
begin
@@ -624,7 +624,7 @@ 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;
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;

View File

@@ -168,7 +168,7 @@ is
use id_Maps_of_sprite,
remote.World;
all_Sprites : constant id_Maps_of_sprite.Map := Self.all_Sprites.fetch;
all_Sprites : id_Maps_of_sprite.Map renames Self.all_Sprites.fetch;
Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;

View File

@@ -615,7 +615,7 @@ is
is
use id_Maps_of_sprite;
all_Sprites : constant id_Maps_of_sprite.Map := Self.all_Sprites.fetch;
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 => <>);
@@ -959,7 +959,7 @@ is
declare
use id_Maps_of_sprite;
all_Sprites : constant id_Maps_of_sprite.Map := Item'Class (Self).all_Sprites.fetch;
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
@@ -1036,7 +1036,7 @@ is
use id_Maps_of_sprite,
lace.Text;
all_Sprites : constant id_Maps_of_sprite.Map := Item'Class (Self).all_Sprites.fetch;
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;