DobryPC.pl
Strona głównaNajnowsze działy, poradniki i projekty DobryPC.plPoradnikiWindows, sieci, sprzęt i rozwiązywanie problemówHomelabProxmox, Docker, storage, backup i self-hostingSmart HomeHome Assistant, automatyzacje i lokalny inteligentny domNarzędziaKalkulatory i generatory działające w przeglądarceProjektyKompletne projekty od założeń do wdrożeniaGamingKomputery gamingowe, dobór podzespołów oraz praktyczne poradniki do gierKomputery gamingowePolecane zestawy, podzespoły, modernizacja i dobór komputera do gierGryPoradniki, ustawienia, wydajność i praktyczne materiały dotyczące gierKontaktKontakt z autorem i wsparcie rozwoju DobryPC.plApexDash — darmowy panel telemetrii Forza Horizon na Stream DockApexDash zamienia Stream Dock, Mirabox lub zgodne urządzenie w panel telemetrii do Forza Horizon z prędkością, RPM, biegiem, oponami i statystykami.Co to jest Home Assistant i dlaczego warto go wybrać?Proste wprowadzenie do Home Assistanta: lokalne sterowanie, prywatność, automatyzacje oraz porównanie z Apple Home, Google Home, Alexą i Tuya.Co to jest homelab i jak zacząć bez kupowania szafy serwerowej?Proste wprowadzenie do homelabu: sprzęt, system, wirtualizacja, sieć, kopie zapasowe i pierwsze usługi na domowym serwerze.Co to jest Microsoft Hyper-V i kiedy warto się go nauczyć?Hyper-V w Windows Server 2025 i Windows 11: architektura, maszyny, wirtualne przełączniki, zarządzanie, wymagania oraz darmowe opcje do nauki.Co to jest Proxmox VE i dlaczego tak często trafia do homelabów?Krótkie wprowadzenie do Proxmox VE 9.2: maszyny KVM, kontenery LXC, storage, backup, klastry oraz darmowe i płatne repozytoria.Co to jest Ubuntu Server? Wersje, zastosowania i darmowe wsparcieUbuntu Server 26.04 LTS i starsze wydania LTS: zastosowania, brak pulpitu, aktualizacje, pięć lat wsparcia oraz darmowy Ubuntu Pro.Co to jest VMware ESXi i czym różni się od vSphere oraz vCenter?Proste wyjaśnienie produktów VMware: ESXi/ESX, vSphere i vCenter, możliwości wersji bezpłatnej oraz ograniczenia ważne w homelabie.Co to jest Windows Server 2025 i jak długo testować go za darmo?Windows Server 2025: edycje Standard i Datacenter, Server Core, role AD DS, Hyper-V i pliki oraz legalna 180-dniowa wersja ewaluacyjna.DLSS vs FSR vs XeSS w 2026 roku — jak działają i co jest najlepsze?Porównanie NVIDIA DLSS 4.5, AMD FSR Redstone i Intel XeSS 3: upscaling, generowanie klatek, opóźnienia, jakość obrazu i zgodność z kartami.FrameHub — jak rozwijam własny hub do optymalizacji Windowsa i gierHistoria FrameHuba, mojego programu do zarządzania biblioteką gier, profilami CPU, procesami i konfiguracją Counter-Strike 2.Jak obliczyć podsieć IPv4 i zrozumieć zapis CIDR?Maska, CIDR, adres sieci, broadcast i zakres hostów wyjaśnione na prostych przykładach /24, /26, /28 i /30.Jak powtarzalnie benchmarkować CS2 — moje narzędzie z AutoHotkey i CapFrameXCS2 Consistent Benchmarking Tool automatyzuje uruchamianie mapy testowej, start pomiaru w CapFrameX i zamknięcie gry.Dlaczego komputer wolno działa? Jak znaleźć przyczynę bez zgadywaniaPraktyczna diagnostyka wolnego komputera: Menedżer zadań, autostart, wolne miejsce, temperatury, RAM, dysk i aktualizacje Windows.Jaki sprzęt do Home Assistanta wybrać w 2026 roku?Home Assistant Green, Raspberry Pi 5, N100/N150 oraz używane terminale i mini PC — porównanie opłacalności, poboru prądu i możliwości rozbudowy.Komputer nie ma dostępu do Internetu — diagnostyka krok po krokuProsta diagnostyka połączenia w Windows 11: router, karta sieciowa, adres IP, brama, DNS, sterownik i reset ustawień sieciowych.Najlepsze karty graficzne do gier 2026 — ranking GPURanking kart graficznych do 1080p, 1440p i 4K z wynikami rasteryzacji, ray tracingu oraz oceną opłacalności.Najlepsze procesory do CS2 i gier competitive w 2026 rokuPolecane procesory do CS2, Valoranta, Fortnite i innych gier competitive — od taniego AM5 po topowe Ryzeny X3D.Optymalizacja CS2 w 2026 — ustawienia pod FPS, 1% low i input lagPrzetestowane ustawienia CS2, Windows 11, CPU Sets i opcje uruchamiania pod wysoki FPS, stabilne 1% low oraz niski input lag.Outlook nie wysyła wiadomości — diagnostyka krok po krokuKompletna diagnostyka problemu, gdy Outlook nie wysyła wiadomości, pozostawia je w kolejce albo zamyka okno bez potwierdzenia.Projekt: pierwszy homelab na używanym mini PCKompletny plan pierwszego homelabu: wybór używanego mini PC, Proxmox, maszyna z Dockerem, usługi, sieć, monitoring i backup.Jaki dongle Zigbee wybrać w 2026 roku?Polecane koordynatory Zigbee do Home Assistanta: SONOFF ZBDongle-E, Home Assistant Connect ZBT-2 i SMLIGHT. Różnice, ceny oraz linki do polskich ofert.Process Core Optimizer — mój program do zarządzania rdzeniami CPU w WindowsHistoria mojego programu do zarządzania CPU Affinity, CPU Sets, priorytetami i automatycznymi profilami procesów w Windows.Proxmox, Hyper-V czy VMware — co wybrać do homelabu w 2026 roku?Praktyczne porównanie Proxmox VE 9.2, Microsoft Hyper-V i darmowego VMware ESXi 8: koszty, sprzęt, funkcje, nauka i zastosowania.Projekt: prywatna chmura zdjęć z Immich zamiast Google PhotosPlan wdrożenia Immich na domowym serwerze: wymagania, Docker Compose, storage, aplikacja mobilna, dostęp zdalny i prawidłowy backup.Robocopy bez niespodzianek — bezpieczna kopia plików w WindowsJak używać Robocopy do kopiowania i synchronizacji danych: tryb testowy, logi, ponawianie, wielowątkowość i niebezpieczne opcje.Ubuntu Server czy Windows Server — który system wybrać do nauki?Porównanie Ubuntu Server 26.04 LTS i Windows Server 2025: koszty, administracja, role, kontenery, wymagania oraz wybór do homelabu.ZHA czy Zigbee2MQTT — co wybrać w 2026 roku?Aktualne porównanie ZHA i Zigbee2MQTT: instalacja, kompatybilność urządzeń, konfiguracja, kopie zapasowe oraz migracja między systemami.Zigbee, Wi-Fi, Thread, Matter, Tasmota i ESPHome — co wybrać?Proste porównanie technologii Smart Home w 2026 roku: czym są, czego wymagają, kto ich używa oraz co najlepiej pasuje do Home Assistanta.
Windows

FrameHub — jak rozwijam własny hub do optymalizacji Windowsa i gier

Historia FrameHuba, mojego programu do zarządzania biblioteką gier, profilami CPU, procesami i konfiguracją Counter-Strike 2.

Autor:ErykOpublikowano:12 min czytania
#FrameHub#Windows#gry#CPU Sets#CS2#C##WPF

DobryPC.pl tworzę niezależnie, poświęcając na poradniki własny czas i środki.Wesprzyj rozwój strony

FrameHub to rozwijany przeze mnie hobbystyczny program dla Windowsa, który łączy zarządzanie grami i aplikacjami z profilami procesów, ustawieniami CPU oraz narzędziami przeznaczonymi dla konkretnych gier.

Projekt wyrósł z wcześniejszego programu Process Core Optimizer, ale nie jest jedynie jego kolejną wersją. FrameHub powstał jako osobna aplikacja z nowym interfejsem, własną strukturą danych i znacznie szerszym zakresem działania.

Obecnie projekt skupia się przede wszystkim na zarządzaniu biblioteką gier i aplikacji, profilach CPU, kontroli procesów oraz konfiguracji Counter-Strike 2. Docelowo ma stać się jednym miejscem do obsługi bezpiecznych i odwracalnych ustawień związanych z wydajnością gier w Windows.

Od Process Core Optimizer do FrameHuba

Process Core Optimizer powstał jako narzędzie do zarządzania priorytetem procesów, CPU Affinity i Windows CPU Sets. Z czasem zacząłem dodawać do niego coraz więcej pomysłów związanych nie tylko z samymi procesami, ale też z grami, profilami i automatyzacją.

W pewnym momencie stało się jasne, że dalsze dokładanie funkcji do jednego wyspecjalizowanego programu nie będzie dobrym rozwiązaniem.

Chciałem stworzyć aplikację, która potrafi:

  • prowadzić bibliotekę gier i programów,
  • wykrywać pliki wykonywalne,
  • zapisywać osobne profile dla konkretnych tytułów,
  • automatycznie stosować ustawienia po uruchomieniu procesu,
  • udostępniać narzędzia przygotowane dla wybranych gier,
  • wykonywać zmiany w sposób przejrzysty i możliwy do cofnięcia.

Zamiast przebudowywać Process Core Optimizer w coraz większy kombajn, rozpocząłem osobny projekt. Tak powstał FrameHub.

Dlaczego osobny program?

FrameHub korzysta z doświadczeń zdobytych podczas rozwijania Process Core Optimizer, ale od początku miał być niezależną aplikacją.

Posiada własny:

  • interfejs,
  • katalog ustawień,
  • system profili,
  • moduł biblioteki,
  • mechanizm skanowania gier i aplikacji,
  • zestaw funkcji związanych z CS2,
  • plan dalszego rozwoju.

Dane programu są przechowywane lokalnie w katalogu:

%APPDATA%\FrameHub

Znajdują się tam między innymi ustawienia użytkownika, profile oraz logi aplikacji.

Co potrafi FrameHub?

Aktualna wersja rozwija kilka głównych obszarów.

Moduł Zastosowanie
Biblioteka Dodawanie gier i aplikacji oraz przypisywanie ich plików EXE
Skanowanie Wykrywanie bibliotek Steam, manifestów Epic Games i wybranych folderów
Profile CPU Zapisywanie CPU Sets, Affinity i priorytetu dla konkretnej gry lub aplikacji
Monitor profili Automatyczne stosowanie zapisanych ustawień po uruchomieniu procesu
Core Control Ręczne zarządzanie uruchomionymi procesami
Config dla CS2 Edycja wybranych ustawień graficznych i pliku autoexec.cfg
Kopie zapasowe Tworzenie backupu konfiguracji CS2 przed zmianami
Lokalizacja Polski i angielski interfejs programu

Nie wszystkie elementy widoczne w planie rozwoju są już aktywne. Część sekcji pełni obecnie rolę zapowiedzi dalszych modułów.

Biblioteka gier i aplikacji

Jednym z głównych założeń FrameHuba jest odejście od pracy wyłącznie na surowej liście procesów.

Użytkownik może budować własną bibliotekę gier i aplikacji, a następnie powiązać konkretną pozycję z plikiem wykonywalnym.

FrameHub potrafi korzystać z kilku metod wyszukiwania:

  • ręcznego wskazania pliku .exe,
  • skanowania biblioteki Steam,
  • odczytywania manifestów Epic Games,
  • skanowania wybranego folderu,
  • wykrywania aktualnie uruchomionego procesu.

Takie podejście pozwala zarządzać ustawieniami z perspektywy konkretnej gry lub programu, a nie tylko nazwy procesu widocznej w Menedżerze zadań.

Profile optymalizacji

Dla dodanej gry albo aplikacji można utworzyć profil ustawień procesora.

Profil przechowuje między innymi:

  • tryb CPU Sets albo CPU Affinity,
  • wybrane procesory logiczne,
  • priorytet procesu,
  • stan automatycznego monitorowania.

FrameHub może obserwować uruchamiane procesy i zastosować zapisany profil po wykryciu właściwego pliku wykonywalnego.

Tak samo jak w Process Core Optimizer, celem nie jest obiecywanie automatycznego wzrostu FPS. Profil jest zestawem jawnych ustawień, które użytkownik może sprawdzić, zmienić albo całkowicie wyłączyć.

Co robi przycisk „Optimize”?

Ważnym założeniem było rozdzielenie zwykłego edytora profilu od przycisku Optimize.

Gdy gra nie ma jeszcze zapisanego profilu, edytor otwiera się w stanie neutralnym:

  • tryb CPU Sets,
  • priorytet Normal,
  • zaznaczone wszystkie procesory logiczne.

Samo otwarcie edytora niczego nie zmienia. Ustawienia zostaną zastosowane dopiero po zapisaniu profilu albo świadomym użyciu odpowiedniej akcji.

Przycisk Optimize tworzy standardowy profil dopasowany do wykrytego układu procesora.

Typ procesora Standardowy profil FrameHuba
AMD z SMT Pominięcie wątków SMT i głównego Core 0
Starszy Intel bez podziału P/E Pominięcie Core 0 oraz wątków HT, gdy są dostępne
Intel z P-core, E-core i HT Pominięcie E-core oraz wątków HT
Intel z P-core i E-core bez HT Pominięcie E-core
Nieznana topologia Pozostawienie wszystkich procesorów logicznych

Preset zawsze korzysta z CPU Sets i normalnego priorytetu. Jest to konserwatywny punkt wyjścia, a nie uniwersalnie najlepsza konfiguracja dla każdego komputera.

Każdy profil można później ręcznie zmodyfikować.

Core Control — ręczne zarządzanie procesami

Moduł Core Control rozwija funkcje znane z Process Core Optimizer.

Pozwala między innymi:

  • wyświetlić uruchomione procesy,
  • sprawdzić PID i liczbę instancji,
  • podejrzeć wykorzystanie CPU i pamięci RAM,
  • odczytać bieżące przypisanie procesora, gdy Windows na to pozwala,
  • zastosować CPU Sets albo klasyczne Affinity,
  • zmienić priorytet procesu,
  • zapisać konfigurację jako profil.

Selektor CPU rozróżnia rdzenie fizyczne oraz dodatkowe wątki SMT lub Hyper-Threading. W obsługiwanych konfiguracjach może również uwzględniać podział na P-core i E-core.

FrameHub preferuje CPU Sets, gdy mechanizm jest dostępny, a w odpowiednich sytuacjach może korzystać z klasycznej maski Processor Affinity.

Profile i reguły

Zapisane profile są dostępne w osobnym module.

Można tam:

  • zobaczyć wszystkie profile,
  • włączyć albo wyłączyć monitorowanie,
  • edytować tryb i wybrane rdzenie,
  • zmienić priorytet,
  • zastosować profil natychmiast,
  • usunąć niepotrzebną konfigurację.

Monitor działający w tle może ponownie zastosować ustawienia po kolejnym uruchomieniu docelowego procesu.

Zależało mi na tym, żeby użytkownik zawsze widział, jakie ustawienia są przypisane do konkretnej gry i mógł je bez problemu wyłączyć.

Konfiguracja Counter-Strike 2

Pierwszą grą z osobnym, bardziej rozbudowanym modułem został Counter-Strike 2.

Strona Config pozwala pracować z wybranymi ustawieniami graficznymi oraz plikiem autoexec.cfg.

Aktualne funkcje obejmują:

  • wykrywanie ścieżki konfiguracji CS2,
  • edycję wybranych ustawień obrazu,
  • preset nastawiony na rozgrywkę competitive,
  • tworzenie backupu przed zmianami,
  • porównanie z najnowszą kopią zapasową,
  • wybór własnych wartości,
  • pomoc w przygotowaniu autoexec.cfg,
  • popularne i bezpieczne bindy oraz komendy,
  • ostrzeżenie dotyczące Steam Cloud,
  • wykrywanie działającego procesu cs2.exe.

Preset competitive skupia się na wydajności i możliwie niskich opóźnieniach. Nie wymusza jednak rozdzielczości ani trybu wyświetlania, ponieważ traktuję je jako indywidualne preferencje użytkownika.

Program może pokazać rekomendowane wartości, ale nie powinien automatycznie nadpisywać ustawień, które są mocno zależne od monitora i przyzwyczajeń gracza.

Bezpieczna praca z konfiguracją CS2

FrameHub nie odczytuje ani nie zapisuje plików konfiguracyjnych CS2, gdy gra jest uruchomiona.

Gdy wykryty zostanie proces cs2.exe, operacje związane z konfiguracją są blokowane. Użytkownik musi najpierw zamknąć grę.

To celowe ograniczenie. Program ma pracować na zwykłych plikach tekstowych w sposób podobny do ręcznej edycji ustawień, a nie ingerować w działającą grę.

FrameHub nie:

  • wstrzykuje bibliotek DLL,
  • nie podpina się do procesu gry,
  • nie modyfikuje pamięci,
  • nie instaluje sterowników działających w jądrze systemu,
  • nie omija zabezpieczeń anti-cheat,
  • nie modyfikuje plików wykonywalnych gry,
  • nie usuwa elementów rozgrywki ani zasobów gry.

Żadne zewnętrzne narzędzie nie może zagwarantować, jak każdy system anti-cheat oceni wszystkie możliwe działania. Dlatego FrameHub korzysta z konserwatywnych zasad i nie próbuje obchodzić zabezpieczeń.

Dlaczego nie chcę tworzyć „magicznego optymalizatora”?

Wokół optymalizacji Windowsa i gier istnieje wiele programów obiecujących natychmiastowy wzrost wydajności.

Część z nich uruchamia skrypty, wyłącza usługi, zmienia rejestr i modyfikuje ustawienia zasilania bez jasnego pokazania, co dokładnie zostało zmienione.

W FrameHubie chcę rozwijać inne podejście:

  • każda funkcja powinna mieć jasno określone działanie,
  • zmiany powinny być możliwe do cofnięcia,
  • program nie powinien wprowadzać dziesiątek ukrytych modyfikacji,
  • agresywne ustawienia nie powinny być domyślne,
  • użytkownik powinien rozumieć zastosowany profil.

Nie oznacza to, że każda funkcja jest całkowicie pozbawiona ryzyka. Zmiana priorytetu, Affinity albo CPU Sets może w określonych przypadkach pogorszyć działanie aplikacji. FrameHub ma ułatwiać testowanie ustawień, a nie zastępować pomiary i zdrowy rozsądek.

Polski i angielski interfejs

FrameHub od początku powstaje z polskim i angielskim interfejsem.

Teksty są obsługiwane przez warstwę lokalizacji zamiast umieszczania wszystkich komunikatów bezpośrednio w widokach programu. Ułatwia to rozwijanie dwóch wersji językowych i porządkowanie kolejnych ekranów.

To również jedna z różnic względem pierwszych etapów Process Core Optimizer, w którym część rozwiązań była dokładana stopniowo wraz z rozwojem projektu.

Czego uczę się przy tym projekcie?

FrameHub jest dla mnie kolejnym etapem nauki tworzenia większych aplikacji desktopowych.

Podczas jego rozwijania pracuję między innymi nad:

  • architekturą aplikacji WPF,
  • podziałem programu na moduły i serwisy,
  • komunikacją z API systemu Windows,
  • skanowaniem bibliotek gier,
  • odczytywaniem manifestów Steam i Epic Games,
  • zarządzaniem plikami konfiguracyjnymi,
  • tworzeniem bezpiecznych kopii zapasowych,
  • lokalizacją interfejsu,
  • zapisywaniem ustawień użytkownika,
  • logowaniem i obsługą błędów,
  • projektowaniem spójnego interfejsu,
  • przygotowywaniem instalatora i wydań.

Największym wyzwaniem nie jest samo dodanie kolejnej opcji. Trudniejsze jest połączenie wielu funkcji w taki sposób, żeby program nadal pozostawał czytelny i nie wykonywał w tle rzeczy, których użytkownik się nie spodziewa.

Obecny stan projektu

FrameHub jest nadal aktywnie rozwijany.

Aktualna wersja skupia się na czterech podstawowych obszarach:

  1. bibliotece gier i aplikacji,
  2. profilach CPU i monitorowaniu procesów,
  3. ręcznym module Core Control,
  4. konfiguracji Counter-Strike 2.

Dalszy kierunek zakłada rozwijanie kolejnych modułów związanych z grami, profilami, benchmarkami i bezpiecznymi ustawieniami Windowsa.

Nie chcę jednak aktywować wielu niedokończonych funkcji tylko po to, żeby wydłużyć listę możliwości programu. Kolejne elementy powinny być dodawane wtedy, gdy ich działanie jest wystarczająco przewidywalne i możliwe do sensownego opisania użytkownikowi.

Instalacja i kod źródłowy

FrameHub jest projektem open source udostępnionym na licencji MIT.

Program jest przeznaczony dla systemów Windows 10 i Windows 11.

Po instalacji warto:

  1. uruchomić FrameHub normalnie,
  2. dodać albo wyszukać gry w bibliotece,
  3. powiązać właściwe pliki wykonywalne,
  4. utworzyć profile dopiero po zapoznaniu się z ich działaniem,
  5. zamknąć CS2 przed użyciem modułu Config,
  6. korzystać z uprawnień administratora tylko wtedy, gdy Windows wymaga ich do zmiany ustawień procesu.

Źródła i dalsza lektura