update Cpu Affinity

This commit is contained in:
2023-11-21 01:05:20 +08:00
parent 5ecfc82506
commit faec463478
8 changed files with 99 additions and 13 deletions

View File

@ -201,4 +201,17 @@ foreach ($adapter in $adapterMemory) {
} catch (_) {}
return totalSize;
}
static Future<int> getNumberOfLogicalProcessors() async {
final cpuNumberResult = await Process.run(powershellPath,
["(Get-WmiObject -Class Win32_Processor).NumberOfLogicalProcessors"]);
if (cpuNumberResult.exitCode != 0) return 0;
return int.tryParse(cpuNumberResult.stdout.toString().trim()) ?? 0;
}
static Future<int?> getCpuAffinity(int eCoreCount) async {
final cpuNumber = await getNumberOfLogicalProcessors();
if (cpuNumber == 0) return null;
return (1 << cpuNumber) - (1 << eCoreCount);
}
}

View File

@ -3,6 +3,8 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/rendering.dart';
import 'dart:ui' as ui;
import 'package:flutter/services.dart';
void dPrint(src) {
if (kDebugMode) {
print(src);
@ -58,6 +60,38 @@ Future<bool> showConfirmDialogs(
return r == true;
}
Future<String?> showInputDialogs(BuildContext context,
{required String title,
required String content,
BoxConstraints? constraints,
String? initialValue,
List<TextInputFormatter>? inputFormatters}) async {
String? userInput;
constraints ??=
BoxConstraints(maxWidth: MediaQuery.of(context).size.width * .38);
final ok = await showConfirmDialogs(
context,
title,
Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
if (content.isNotEmpty) Text(content),
const SizedBox(height: 6),
TextFormBox(
initialValue: initialValue,
onChanged: (str) {
userInput = str;
},
inputFormatters: inputFormatters,
),
],
),
constraints: constraints);
if (ok == true) return userInput;
return null;
}
Future showBaseDialog(BuildContext context,
{required String title,
required Widget content,