View Full Version : x86 vs x64 for x264 encoding
slipknot!
11th June 2009, 16:12
I have an Intel E4500 CPU. It has 2 cores, 2200 Mhz each. Also RAM is 2GB (800 Mhz). I use Windows XP SP3 and the latest x264 build. Encoding SD video with Sharktooth's DXVA-SD-Insane profile from megui is very slow - about 2-3 fps in the second pass. If I change my OS to x64 one will I get better fps? How much better? Will it double my encoding fps?
Or should I look for a newer quad cored CPU?
microchip8
11th June 2009, 16:22
At least on Linux, 64-bit x264 has ~15% more performance than 32-bit. Don't know if it's the same on Windows
Sharktooth
11th June 2009, 16:31
you can get more performance by NOT using Insane presets... Just switching to Extra Q. preset would give a nice speed boost...
slipknot!
12th June 2009, 09:00
froggy1, Sharktooth, ok, thank you, I'm new to video encoding.
St Devious
12th June 2009, 23:18
I don't think 64-Bit OS would have any impact on your encoding performance. You are using 2GB RAM which is less than theoretical maximum (4GB) of a 32-Bit OS. You are certainly not loosing any RAM.
A 32-bit encoder on a 64-bit OS would still run in 32-bit mode, so encoding speed would be the same.
As Shark said, try to loosen the preset or manually adjust the settings to a lower value of motion estimation and lower reference frames.
If its still slow, then you are better off overclocking your current CPU or investing in a quad core. They go for pretty cheap second hand these days. You can find a Q6600 for $150 if anybody still has it, otherwise 45nm penryn's are on sale with people jumping to Core i7.
LoRd_MuldeR
12th June 2009, 23:26
1) The actually RAM limit of 32-Bit OS is ~3 GB, because Memory Mapped I/O blocks ~1/4 of the addresses of the theoretical 4 GB address space.
2) 64-Bit OS does have an effect on encoding performance, if the encoder is 64-Bit too. As said before, x264 runs ~15% faster as 64-Bit binary (compared to 32-Bit). Of course you will need to use 64-Bit Avisynth too -or- pipe the input in from a 32-Bit process. The latter adds some overhead (and hence lowers the speed-up) though.
St Devious
13th June 2009, 00:18
Of course you will need to use 64-Bit Avisynth too -or- pipe the input in from a 32-Bit process. The latter adds some overhead (and hence lowers the speed-up) though.
How stable is 64-bit Avisynth ? Does it have less filters than the 32-bit version ?
LoRd_MuldeR
13th June 2009, 00:47
How stable is 64-bit Avisynth ? Does it have less filters than the 32-bit version ?
I can't tell you how stable it is exactly, but it does work. About filters: The standard "built-in" filters will work.
But any third-party filters that don't have a special x64 build available will be missing...
St Devious
13th June 2009, 00:52
I can't tell you how stable it is exactly, but it does work. About filters: The standard "built-in" filters will work.
But any third-party filters that don't have a x64 build available will be missing...
is the download available on this page 32-bit or 64-bit
http://www.free-codecs.com/download/AviSynth.htm
LoRd_MuldeR
13th June 2009, 01:00
is the download available on this page 32-bit or 64-bit
http://www.free-codecs.com/download/AviSynth.htm
Unless explicitly stated, I'd assume that it's 32-Bit ;)
Have a look here:
http://members.optusnet.com.au/squid_80/
St Devious
13th June 2009, 01:04
http://members.optusnet.com.au/squid_80/
haha, 64-bit heaven :D
slipknot!
16th June 2009, 08:40
As I can see the only thing to fasten encoding speed with such hard encoding settings is to update CPU, isn't it? And how much faster is quad-core CPU than dual-core in x264 video encoding?
Shinigami-Sama
16th June 2009, 17:36
As I can see the only thing to fasten encoding speed with such hard encoding settings is to update CPU, isn't it? And how much faster is quad-core CPU than dual-core in x264 video encoding?
double
Blue_MiSfit
18th June 2009, 01:39
Yes, x264 scales very well up to at least 8 cores, provided you're not bound by your input (avisynth or whatever else).
~MiSfit
St Devious
21st June 2009, 16:47
Unless explicitly stated, I'd assume that it's 32-Bit ;)
Have a look here:
http://members.optusnet.com.au/squid_80/
the avisynth zip file is only 330 KB on that page and only has a few files, is that all i need ?
LoRd_MuldeR
21st June 2009, 16:51
It has the Avisynth DLL and DirectShowSource. What else do you need?
St Devious
21st June 2009, 16:52
It has the Avisynth DLL and DirectShowSource. What else do you need?
i don't know. What should I do with them ?
I normally install the avisynth with an installer.
LoRd_MuldeR
21st June 2009, 16:59
i don't know. What should I do with them ?
I normally install the avisynth with an installer.
Copy them to the place where the x64 application you want to use expects them. And don't forget to import the .reg file :p
Also see "filters.txt" in the ZIP file for a list of "built-in" filters...
St Devious
21st June 2009, 17:33
Copy them to the place where the x64 application you want to use expects them. And don't forget to import the .reg file :p
Also see "filters.txt" in the ZIP file for a list of "built-in" filters...
i only use megui where avisynth gets used and it has the path for avisynth plugins only
C:\Program Files (x86)\AviSynth 2.5\plugins
so do i make a directory just like the installed would make and place the dll files from the zip in there and run the reg ?
how old is this avisnth ?
LoRd_MuldeR
21st June 2009, 17:39
I think you should put the Avisynth.dll to your "Systm32" directory.
Take care that "System32" actually is the 64-Bit system directory, while "SysWow64" is the 32-Bit system directory (that will appear as "system32" to 32-Bit applications).
You can specify the Avisynth "Plugins" directory in the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AviSynth\plugindir2_5
(Optionally you can also load all plug-ins with "LoadPlugin()" and fully qualified path names)
St Devious
21st June 2009, 17:47
Take care that "System32" actually is the 64-Bit system directory, while "SysWow64" is the 32-Bit system directory (that will appear as "system32" to 32-Bit applications).
wow, that is confusing.
what about the DirectShowSource.dll, does that go in the system32 directory too ?
these 3 files will make the avisynth available to all software that want to use it ?
LoRd_MuldeR
21st June 2009, 17:53
wow, that is confusing.
That's M$ ;)
what about the DirectShowSource.dll, does that go in the system32 directory too ?
Either you must specify the full path to the plugin when you call "LoadPlugin()" in your AVS script or you must put the plugins into the Avisynth "plugins" directory.
As explained in my previous post, the Avisynth "plugins" directory can be configured in the registry...
these 3 files will make the avisynth available to all software that want to use it ?
Any application that tries to load the "avisynth.dll" will look into the "systm32" folder sooner or later. See:
http://msdn.microsoft.com/en-us/library/ms682586(VS.85).aspx
St Devious
21st June 2009, 18:03
Either you must specify the full path to the plugin when you call "LoadPlugin()" in your AVS script or you must put the plugins into the Avisynth "plugins" directory.
As explained in my previous post, the Avisynth "plugins" directory can be configured in the registry...
thats fine, I understood that.
But does the directshowsource.dll file go in system32 folder too ?
Also how old is this avisynth version and any disadvantages compared to latest 2.5.8 ?
LoRd_MuldeR
21st June 2009, 19:08
But does the directshowsource.dll file go in system32 folder too?
It is treated the same way as any plugin, I guess: Put it into the "plugins" folder or load it via LoadPlugin() from an arbitrary location.
Also how old is this avisynth version and any disadvantages compared to latest 2.5.8 ?
squid_80 (http://forum.doom9.org/member.php?u=67865) may have the answer ;)
St Devious
21st June 2009, 19:10
squid_80 (http://forum.doom9.org/member.php?u=67865) may have the answer ;)
who is he ? did he make the files ?
LoRd_MuldeR
21st June 2009, 19:13
did he make the files ?
I think so, yes.
burfadel
22nd June 2009, 05:20
I have an Intel E4500 CPU. It has 2 cores, 2200 Mhz each.
Its not uncommon to hear the 2200Mhz each core, or variations thereof, but its actually incorrect. Some people go as far as saying 4.4ghz because there's two cores. Just for future reference, even if were (hypothetically) 128 core cpu, it would still be 2.2ghz!
The 2.2ghz refers to the speed of the CPU, not each core.
When there is variable speed cores, the speed is still 2.2ghz (for example), but each core or group of cores# can be throttled down.
# For a group of cores, it just means in the case of a quad core its made up of 2 groups of 2 cores.
squid_80
22nd June 2009, 12:40
Also how old is this avisynth version and any disadvantages compared to latest 2.5.8 ?
Most of it is based on avisynth 2.5.5 (from 2005) but pieces here and there were updated as I got around to it (e.g. the cache system). There's still a fair bit missing (especially audio functions) and practically no-one bothered to make any 64-bit plugins. One of the major problems is that the 64-bit DGDecode plugin is way out of date and no effort is made to keep the .d2v format backwards compatible.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.