Darkflame808 Posted July 25, 2009 Posted July 25, 2009 Hello everyone, I have a question. I've been trying to figure out how to make a script to set affinity. I've searched the forums and google for examples and have found a few but something is always missing or not working in every script. I have a quad core processor (1 physical cpu with 4 cores). I am trying to get my encoder to automatically map the cpu's based on how many instances are running. I.E 1 instance = 4 cores, 2 instances = 1 cores 1 and 2, 2 cores 3 and 4. I saw one that script that had an example for x264 but I changed the executable to HCenc_023.exe and it didn't work. I saw a more universal script that uses asm.au3 but when I run it, I get asm.au3 not found, I checked the include script and it was not present. A google search for asm.au3 sends me to a million different places. Even adding download to the search still returned useless results. Any help would be greatly appreciated. I can answer any questions if you need more information. Thank you very much! Richard
BrettF Posted July 25, 2009 Posted July 25, 2009 _WinAPI_SetProcessAffinityMask ()? Vist my blog!UDFs: Opens The Default Mail Client | _LoginBox | Convert Reg to AU3 | BASS.au3 (BASS.dll) (Includes various BASS Libraries) | MultiLang.au3 (Multi-Language GUIs!)Example Scripts: Computer Info Telnet Server | "Secure" HTTP Server (Based on Manadar's Server)Software: AAMP- Advanced AutoIt Media Player | WorldCam | AYTU - Youtube Uploader Tutorials: Learning to Script with AutoIt V3Projects (Hardware + AutoIt): ArduinoUseful Links: AutoIt 1-2-3 | The AutoIt Downloads Section: | SciTE4AutoIt3 Full Version!
Darkflame808 Posted July 25, 2009 Author Posted July 25, 2009 Here's the script I am using. Thank you to Mr. Robert Walker for getting me halfway there. #cs ---------------------------------------------------------------------------- AutoIt Version: 3.2.10.0 Author: Robert Walker Script Function: Multicore auto-task assigner #ce ---------------------------------------------------------------------------- #Include <WinAPI.au3> Const $c_H_executable="x264.exe" Global $a_x264_PID_list, $h_x264 While 1 Sleep(10000) $a_x264_PID_list = ProcessList ($c_x264_executable) Switch $a_x264_PID_list[0][0] Case 1 $h_x264 = _WinAPI_OpenProcess($PROCESS_QUERY_INFORMATION+$PROCESS_SET_INFORMATION, False, $a_x264_PID_list[1][1]) _WinAPI_SetProcessAffinityMask($h_x264, 0x03) Case 2 $h_x264 = _WinAPI_OpenProcess($PROCESS_QUERY_INFORMATION+$PROCESS_SET_INFORMATION, False, $a_x264_PID_list[1][1]) _WinAPI_SetProcessAffinityMask($h_x264, 0x01) $h_x264 = _WinAPI_OpenProcess($PROCESS_QUERY_INFORMATION+$PROCESS_SET_INFORMATION, False, $a_x264_PID_list[2][1]) _WinAPI_SetProcessAffinityMask($h_x264, 0x02) EndSwitch WEnd Exit My problem is when I change x264.exe to HCenc_023.exe I get an error. Line 23 (File "C:\vidtools\New AutoIt v3.script.au3" $h_x264=_WinAPI_OpenProcess($PROCESS_QUERY_INFORMATION+$PROCESS_SET_INFORMATION, False, $a_x264_PID_list[1][1]) $h_x264=_WinAPI_OpenProcess(^ERROR Error: Variable used without being declared I only changed the exe name to match that of the encoder I am using, I did no touch any variables or change any other x264 instances in fear of breaking something (which I apparently already did just by changing the name of the executable) I hope this offers more help. Thanks.
AdmiralAlkex Posted July 25, 2009 Posted July 25, 2009 You are missing: #Include <Constants.au3> .Some of my scripts: ShiftER, Codec-Control, Resolution switcher for HTC ShiftSome of my UDFs: SDL UDF, SetDefaultDllDirectories, Converting GDI+ Bitmap/Image to SDL Surface
Darkflame808 Posted July 25, 2009 Author Posted July 25, 2009 You are missing: #Include <Constants.au3> OMG! that was so simple and fixed it!. Thank you so much. I think I would have abandoned the entire thing from my lack of understanding. Thank you again!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now