Help - Search - Members - Calendar
Full Version: Rebase components DLLs
Hydrogenaudio Forums > Hosted Forums > foobar2000 > Development - (fb2k)
Rebase
All of the components DLLs have a base address of 0x10000000 in their disk image file. Therefore, when they are loaded (and apparently they all are loaded at startup), they have to be relocated; patched in memory. While this is fast, the problem is that the pages are marked dirty and are no longer mapped from the disk images (DLL files). On memory pressure (or working set trimming), they'll have to be paged back to disk (to a swapfile).

It's better if they are relocated to some non-overlapping addresses. For example, see:

http://sourceforge.net/tracker/index.php?f...761&atid=471492

Thanks!
skipyrich
ReBase.exe from Microsoft SDK tools can automatically rebase all installed components for your system.

For example, after:
rebase.exe -i 0x10020000 *.dll
in my components directory:
CODE
Image - Base - Image Base
foo_ac3.dll 0x10020000 0x10020000
foo_ape.dll 0x10040000 0x10040000
foo_cdda.dll 0x10060000 0x10060000
foo_channel_mixer.dll 0x10070000 0x10070000
foo_clienc.dll 0x100B0000 0x100B0000
foo_console.dll 0x100C0000 0x100C0000
foo_convolve.dll 0x100D0000 0x100D0000
foo_defpl.dll 0x10130000 0x10130000
foo_Delete.dll 0x10140000 0x10140000
foo_diskwriter.dll 0x10160000 0x10160000
foo_dsp_atsurround.dll 0x10180000 0x10180000
foo_dsp_delay.dll 0x10190000 0x10190000
foo_dsp_delta.dll 0x101B0000 0x101B0000
foo_dsp_extra.dll 0x101C0000 0x101C0000
foo_dsp_skip_silence.dll 0x101E0000 0x101E0000
foo_dsp_soundtouch.dll 0x101F0000 0x101F0000
foo_dsp_span.dll 0x10200000 0x10200000
foo_dsp_test.dll 0x10220000 0x10220000
foo_dsp_tube.dll 0x10260000 0x10260000
foo_extm3u.dll 0x10280000 0x10280000
foo_flac.dll 0x10290000 0x10290000
foo_freedb.dll 0x102B0000 0x102B0000
foo_id3v2.dll 0x102D0000 0x102D0000
foo_infobox.dll 0x10300000 0x10300000
foo_input_std.dll 0x10320000 0x10320000
foo_masstag.dll 0x103D0000 0x103D0000
foo_mod.dll 0x103F0000 0x103F0000
foo_np_rsdn.dll 0x10400000 0x10400000
foo_null.dll 0x10410000 0x10410000
foo_oggpreview.dll 0x10420000 0x10420000
foo_out_dsound_ex2.dll 0x10550000 0x10550000
foo_out_ks.dll 0x10570000 0x10570000
foo_playlist_bind.dll 0x10580000 0x10580000
foo_playlist_output.dll 0x10590000 0x10590000
foo_playlist_output_custom.dll 0x105B0000 0x105B0000
foo_pphsresample.dll 0x105D0000 0x105D0000
foo_preview.dll 0x105E0000 0x105E0000
foo_read_http.dll 0x105F0000 0x105F0000
foo_rgscan.dll 0x10610000 0x10610000
foo_sato.dll 0x10620000 0x10620000
foo_scroll.dll 0x10660000 0x10660000
foo_search_ex.dll 0x10670000 0x10670000
foo_shuffle.dll 0x10680000 0x10680000
foo_syfm.dll 0x10690000 0x10690000
foo_uie_albumlist.dll 0x10700000 0x10700000
foo_uie_tabs.dll 0x10730000 0x10730000
foo_uie_trackinfo.dll 0x107A0000 0x107A0000
foo_uie_track_grid.dll 0x10740000 0x10740000
foo_uie_volume.dll 0x107B0000 0x107B0000
foo_uie_x_spectrum.dll 0x107C0000 0x107C0000
foo_ui_columns.dll 0x106A0000 0x106A0000
foo_ui_std.dll 0x106E0000 0x106E0000
foo_unpack.dll 0x107D0000 0x107D0000
foo_utils.dll 0x10810000 0x10810000
foo_vis_bacon.dll 0x10820000 0x10820000
foo_vis_manager.dll 0x10840000 0x10840000
foo_vis_vu_meter.dll 0x10850000 0x10850000
foo_wavpack.dll 0x10860000 0x10860000
foo_winamp_input.dll 0x10880000 0x10880000
foo_wma.dll 0x10890000 0x10890000

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.