本帖最後由 darkfrank 於 2015-1-8 19:13 編輯
事實上md5、crc相同的同一文件但聽感不一樣,台灣p900派好早就提出過因為讀入內存後並非連續位址而造成
到最近極聽作者TS都研究得出類似結論而係播放器用了以下技術:
"JEP是大页内存对齐的,我通过两次进程调用截断了内存与物理文件的关联。"
Q:大页内存对齐是什么原理?
A:大页内存即是large size Page,内存分配粒度,系统默认是4kb。
Q:已读入内存的数据还需整理否?
A:要,按页对齐"
Q:那ssd应该不需要数据整理了?
A:理论如此,实际还是有一点影响的,毕竟没有对齐的数据,读起来开销要大一些
到呢幾日剛好有人介紹日本BugHead Emperor作者Mr. Yokota的一款文件整理軟件Rewrite Data也是利用了內存重排技術
Fidelizer 作者對其原理的猜測:
1. Rewrite Data copy file to memory
2. Rewrite Data optimizes data in memory buffer using ReWriteMemory using optimized data block process such as non-temporal mov, no CPU cache memory buffer, MMX register, bit holding voltage rise, etc.
3. Rewrite Data save optimized data block from memory buffer back to storage again with ReWriteMemory optimization. This process is done on strreaming buffer like optimizing and writing back to storage every 8192 bytes.
So rewritten data is optimized solely for that machine to be fully effective. I'm not sure how effective it'd be on different OS and machine though. I'll try to ask Mr. Yokota out tomorrow.
以下是jplay forum的討論串
http://jplay.eu/forum/computer-a ... t-rewrite-data-1.0/ |