Added ability to restrict CPU cores

This commit is contained in:
Boria138
2023-08-02 00:58:56 +06:00
parent d9c9747bc6
commit c6622177a3
3 changed files with 28 additions and 3 deletions

View File

@ -155,7 +155,14 @@ pw_gui_for_edit_db () {
else
FPS_LIMIT_VAR=0
fi
if [[ -n $WINE_CPU_TOPOLOGY ]] ; then
CPU_LIMIT_VAR="`echo ${WINE_CPU_TOPOLOGY%%:*}`"
else
CPU_LIMIT_VAR=0
fi
echo "FPS_LIMIT_VAR=$FPS_LIMIT_VAR"
echo "CPU_LIMIT_VAR=$CPU_LIMIT_VAR"
unset ADD_CHK_BOX_EDIT_DB
edit_db_field_add () {
for int_to_boole in $@ ; do
@ -187,8 +194,8 @@ pw_gui_for_edit_db () {
--field=":LBL" "" \
--field="${loc_gui_arg_exe}!${loc_gui_arg_exe_help} :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \
--field=":LBL" "" \
--field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :SCL" ${FPS_LIMIT_VAR} 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
--field="${loc_gui_cpu_limit}!${loc_gui_cpu_limit_help}" ${CPU_LIMIT_VAR} \
--field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :SCL" ${FPS_LIMIT_VAR} 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" 2>/dev/null &
"${pw_yad_v12_3}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="650" \
--text "${loc_gui_edit_db} <b>${PORTWINE_DB}</b>\n ${loc_gui_edit_db_help}" --separator=" " --borders=3 \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
@ -218,12 +225,20 @@ pw_gui_for_edit_db () {
PW_DLL_INSTALL=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $2}'`
WINEDLLOVERRIDES=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $3}'`
LAUNCH_PARAMETERS=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $5}'`
FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`"
CPU_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`"
FPS_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
if [ "${FPS_LIMIT}" != 0 ] ; then
export MANGOHUD_CONFIG=${MANGOHUD_CONFIG},fps_limit=${FPS_LIMIT}
export PW_MANGOHUD=1
fi
if [ "${CPU_LIMIT}" != 0 ] ; then
cores=${CPU_LIMIT}
topology="${cores}:$(seq -s, 0 $((cores - 1)))"
export WINE_CPU_TOPOLOGY="$topology"
else
unset WINE_CPU_TOPOLOGY
fi
echo "pw_gui_for_edit_db PORTWINE_DB_FILE=$PORTWINE_DB_FILE"
edit_db_from_gui $@ MANGOHUD_CONFIG LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES
return 0