Darkflame808 Posted July 25, 2009 Share 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 Link to comment Share on other sites More sharing options...
BrettF Posted July 25, 2009 Share 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! Link to comment Share on other sites More sharing options...
Darkflame808 Posted July 25, 2009 Author Share 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. Link to comment Share on other sites More sharing options...
AdmiralAlkex Posted July 25, 2009 Share 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 Link to comment Share on other sites More sharing options...
Darkflame808 Posted July 25, 2009 Author Share 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! Link to comment Share on other sites More sharing options...
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