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 is
use Model; use Model;
free_Models : graphics_Models; free_Models : graphics_Models with Convention => C; -- Convention C is for performance.
Last : Natural; Last : Natural;
begin begin
Self.obsolete_Models.fetch (free_Models, Last); Self.obsolete_Models.fetch (free_Models, Last);
@@ -208,7 +208,7 @@ is
is is
use Impostor; use Impostor;
free_Impostors : Impostor_Set; free_Impostors : Impostor_Set with Convention => C; -- Convention C is for performance.
Last : Natural; Last : Natural;
begin begin
Self.obsolete_Impostors.fetch (free_Impostors, Last); 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; 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 protected
type safe_Models type safe_Models
@@ -228,7 +233,11 @@ private
-- Impostors -- 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 protected
type safe_Impostors type safe_Impostors

View File

@@ -546,7 +546,7 @@ is
is is
use type remote.World.sequence_Id; 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; the_Id : gel.sprite_Id;
begin begin
@@ -624,7 +624,7 @@ is
use id_Maps_of_sprite; 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.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; Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_Sprite : gel.Sprite.view; the_Sprite : gel.Sprite.view;

View File

@@ -168,7 +168,7 @@ is
use id_Maps_of_sprite, use id_Maps_of_sprite,
remote.World; 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; Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;

View File

@@ -615,7 +615,7 @@ is
is is
use id_Maps_of_sprite; 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; Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_sprite_Transforms : sprite_transform_Pairs (1 .. Natural (all_Sprites.Length)) := (others => <>); the_sprite_Transforms : sprite_transform_Pairs (1 .. Natural (all_Sprites.Length)) := (others => <>);
@@ -959,7 +959,7 @@ is
declare declare
use id_Maps_of_sprite; 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; Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_Sprite : Sprite.view; the_Sprite : Sprite.view;
begin begin
@@ -1036,7 +1036,7 @@ is
use id_Maps_of_sprite, use id_Maps_of_sprite,
lace.Text; 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; Cursor : id_Maps_of_sprite.Cursor := all_Sprites.First;
the_Pairs : remote.World.sprite_model_Pairs (1 .. Natural (all_Sprites.Length)); the_Pairs : remote.World.sprite_model_Pairs (1 .. Natural (all_Sprites.Length));
the_Sprite : Sprite.view; the_Sprite : Sprite.view;