Thomas Goyne
451b262672
Increment iterators before erasing them rather than after
...
Originally committed to SVN as r6515.
2012-02-25 02:58:04 +00:00
Thomas Goyne
53c2c8821b
Redesign BlockCache's age tracking to run in constant time
...
Speeds up spectrum painting by 40-90% depending on how much of the audio
data is being read from the cache.
Originally committed to SVN as r6488.
2012-02-20 05:15:10 +00:00
Thomas Goyne
fc932dddc7
Convert BlockCache from LFU to LRU
...
In practice there were usually <10 calls to Get per call to Age,
resulting in everything but the most recently used block having an
access count of 0. This resulted in it having essentially random
eviction, which worked decently due to the size of the cache, but with a
significant speed overhead for the LFU tracking.
Originally committed to SVN as r6440.
2012-02-02 22:58:06 +00:00
Thomas Goyne
58d6ac1fad
Make DataBlockCache::Age roughly ten times as fast
...
Originally committed to SVN as r6197.
2012-01-08 01:03:40 +00:00
Thomas Goyne
0de3ce42d5
Speed up BlockCache::Age somewhat
...
Originally committed to SVN as r5572.
2011-08-27 06:52:49 +00:00
Thomas Goyne
256e098aa7
Remove header include order requirements
...
Originally committed to SVN as r5449.
2011-07-15 04:04:13 +00:00
Amar Takhar
c15777f844
Merge audio_display_rewrite branch to trunk. This is not a complete work, don't expect to time anything for a while.
...
Originally committed to SVN as r4903.
2010-12-08 03:36:10 +00:00
Kevin Ollivier
31ec52b415
Fix constness issue that makes gcc on SnowLeopard fail to compile.
...
Originally committed to SVN as r3853.
2009-12-07 00:06:35 +00:00
Amar Takhar
fa9c8c17f8
Remove 35 of the 39 pragma once added in r3538. I didn't realise so many would be not required. This patch isn't tested on windows, I'll fix it after the buildbot takes a run at it.
...
Originally committed to SVN as r3539.
2009-09-18 03:01:51 +00:00
Amar Takhar
11e1935d76
Remove include guards in favour of '#pragma once'. Normally I would use an include guard however #pragama once is easier to spot and we already used it in mst of our files, this is for the sake of consistency until they're removed.
...
Originally committed to SVN as r3538.
2009-09-18 02:48:31 +00:00
Amar Takhar
774fb0f674
Fix all the headers in *., this includes:
...
* Wrapping all headers that are in agi_pre.h with AGI_PRE.
* Sorting alphabetically.
* Same operation as r3515.
Note: This is broken when precompiled headers are not in use, I'll fix that after this commit so the two changes don't get jumbled up.
Originally committed to SVN as r3525.
2009-09-11 02:36:34 +00:00
Niels Martin Hansen
4526b0dc43
Try to get around G++'s dislike of my iterators by using an integer index instead.
...
Originally committed to SVN as r3419.
2009-08-16 04:31:29 +00:00
Niels Martin Hansen
56b40bc67a
Will GCC like me better if I sprinkle some 'typename' around?
...
Originally committed to SVN as r3417.
2009-08-16 03:50:41 +00:00
Niels Martin Hansen
c97f91c137
Fix compilation errors on GCC.
...
Also fix a bug in the block cache where it wasn't the sorted order of the macroblocks by access count that was used in determining which ones to kill off.
Originally committed to SVN as r3415.
2009-08-16 01:10:20 +00:00
Niels Martin Hansen
e9e3b2d107
Change AudioRenderer to use DataBlockCache.
...
Originally committed to SVN as r3414.
2009-08-16 00:28:26 +00:00
Niels Martin Hansen
76d94ec94c
Add DataBlockCache template class. It parses but I don't know if it compiles yet.
...
Updates #951 , #965 , #990 .
Originally committed to SVN as r3412.
2009-08-15 21:48:58 +00:00