use queque instead of list for IDs (thx to rayo)
This commit is contained in:
1 parent
3771cc5dc4
commit
dfcf9b99af
1 file changed
+12
-17
@@ -47,7 +47,7 @@ namespace Vocaluxe.Lib.Draw
|
|||||||
private bool _fullscreen = false;
|
private bool _fullscreen = false;
|
||||||
|
|
||||||
private List<STexture> _Textures;
|
private List<STexture> _Textures;
|
||||||
private List<int> _IDs;
|
private Queue<int> _IDs;
|
||||||
private List<STextureQueque> _Queque;
|
private List<STextureQueque> _Queque;
|
||||||
|
|
||||||
private Object MutexTexture = new Object();
|
private Object MutexTexture = new Object();
|
||||||
@@ -67,11 +67,11 @@ namespace Vocaluxe.Lib.Draw
|
|||||||
|
|
||||||
_Textures = new List<STexture>();
|
_Textures = new List<STexture>();
|
||||||
_Queque = new List<STextureQueque>();
|
_Queque = new List<STextureQueque>();
|
||||||
_IDs = new List<int>();
|
_IDs = new Queue<int>(1000000);
|
||||||
|
|
||||||
for (int i = 1; i < 1000000; i++)
|
for (int i = 1; i < 1000000; i++)
|
||||||
{
|
{
|
||||||
_IDs.Add(i);
|
_IDs.Enqueue(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Check AA Mode
|
//Check AA Mode
|
||||||
@@ -553,8 +553,7 @@ namespace Vocaluxe.Lib.Draw
|
|||||||
|
|
||||||
lock (MutexTexture)
|
lock (MutexTexture)
|
||||||
{
|
{
|
||||||
texture.index = _IDs[0];
|
texture.index = _IDs.Dequeue();
|
||||||
_IDs.RemoveAt(0);
|
|
||||||
_Textures.Add(texture);
|
_Textures.Add(texture);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -758,10 +757,9 @@ namespace Vocaluxe.Lib.Draw
|
|||||||
|
|
||||||
lock (MutexTexture)
|
lock (MutexTexture)
|
||||||
{
|
{
|
||||||
texture.index = _IDs[0];
|
texture.index = _IDs.Dequeue();
|
||||||
_IDs.RemoveAt(0);
|
_Textures.Add(texture);
|
||||||
}
|
}
|
||||||
_Textures.Add(texture);
|
|
||||||
|
|
||||||
return texture;
|
return texture;
|
||||||
}
|
}
|
||||||
@@ -823,10 +821,9 @@ namespace Vocaluxe.Lib.Draw
|
|||||||
|
|
||||||
lock (MutexTexture)
|
lock (MutexTexture)
|
||||||
{
|
{
|
||||||
texture.index = _IDs[0];
|
texture.index = _IDs.Dequeue();
|
||||||
_IDs.RemoveAt(0);
|
_Textures.Add(texture);
|
||||||
}
|
}
|
||||||
_Textures.Add(texture);
|
|
||||||
|
|
||||||
return texture;
|
return texture;
|
||||||
}
|
}
|
||||||
@@ -889,10 +886,9 @@ namespace Vocaluxe.Lib.Draw
|
|||||||
|
|
||||||
lock (MutexTexture)
|
lock (MutexTexture)
|
||||||
{
|
{
|
||||||
texture.index = _IDs[0];
|
texture.index = _IDs.Dequeue();
|
||||||
_IDs.RemoveAt(0);
|
_Textures.Add(texture);
|
||||||
}
|
}
|
||||||
_Textures.Add(texture);
|
|
||||||
|
|
||||||
return texture;
|
return texture;
|
||||||
}
|
}
|
||||||
@@ -908,8 +904,7 @@ namespace Vocaluxe.Lib.Draw
|
|||||||
|
|
||||||
lock (MutexTexture)
|
lock (MutexTexture)
|
||||||
{
|
{
|
||||||
texture.index = _IDs[0];
|
texture.index = _IDs.Dequeue();
|
||||||
_IDs.RemoveAt(0);
|
|
||||||
queque.ID = texture.index;
|
queque.ID = texture.index;
|
||||||
_Queque.Add(queque);
|
_Queque.Add(queque);
|
||||||
_Textures.Add(texture);
|
_Textures.Add(texture);
|
||||||
@@ -1036,7 +1031,7 @@ namespace Vocaluxe.Lib.Draw
|
|||||||
{
|
{
|
||||||
if (_Textures[i].index == Texture.index)
|
if (_Textures[i].index == Texture.index)
|
||||||
{
|
{
|
||||||
_IDs.Add(Texture.index);
|
_IDs.Enqueue(Texture.index);
|
||||||
|
|
||||||
GL.DeleteTexture(Texture.ID);
|
GL.DeleteTexture(Texture.ID);
|
||||||
if (Texture.PBO > 0)
|
if (Texture.PBO > 0)
|
||||||
|
|||||||
Reference in new issue
Block a user