2013-04-10 15 views
7

Tworzę grę na Androida, a różnica w wydajności między telefonami z jednym rdzeniem, takimi jak Galaxy S i dwurdzeniowym Galaxy S2, jest porównywalna do dnia i nocy. Dlatego zamiast tworzyć różne wersje dla pojedynczych rdzeni i podwójnych/czterordzeniowych, pomyślałem o użyciu liczby procesorów urządzenia do wyłączenia i niektórych cech graficznych.Niezawodność liczby procesorów

Ale jak wiarygodny jest procesor? Czy niektóre telefony z pojedynczym rdzeniem mają wątki takie jak Intel Hyperthreading, który pokazuje jeden rdzeń jako dwa? A może niektóre telefony z dwoma rdzeniami są wolniejsze od Galaxy S2?

+3

Dlaczego po prostu nie dać użytkownikom opcji wyłączania wymyślnych efektów, jeśli uważają, że gra działa zbyt wolno? –

+1

1. Tak jak wiem, nie ma chipów z technologią podobną do HT firmy Intel. 2. Tak, niektóre nawet układy dwurdzeniowe mogą być naprawdę powolne. –

+0

Myślę, że niektóre telefony również korzystają z parkowania podstawowego, zasadniczo wyłączając jeden z rdzeni, gdy bateria jest słaba lub gdy spełnione są inne kryteria. Z podobnym problemem spotkałem się na laptopach, gdzie parkowanie rdzeni powoduje awarię temperatur w rdzeniu w związku z brakującym rdzeniem. –

Odpowiedz

0

Efekty graficzne powinny być rysowane przez procesor graficzny, a nie procesor.

+0

Generalnie nie można wykonywać wszystkich obliczeń na GPU - nie będzie obciążenia procesora zbyt więcej próbujesz zrobić. – Rup

+1

Niektóre efekty są bardziej obciążające dla procesora niż dla procesora graficznego. Na przykład tworzenie cieni na urządzeniu mobilnym, aby określić miejsce i rozmiar cienia, są one droższe niż rysowanie samej kropelki. – Esa

1

Podczas gdy rozpoznaję twoje dobre intencje za pomysłem sprawdzania rdzeni i automatyczną regulacją ustawień, więc użytkownik nie musi sam dostosowywać ustawień, aby poprawić wydajność, nie będzie działał w praktyce.

Dzieje się tak dlatego, że jest za dużo urządzeń i obudów narożnych do pokrycia. Na przykład:

  • Niektóre urządzenia wielordzeniowe będą miały podstawowe funkcje parkowania i mogą nie zostać wykryte przy użyciu dowolnego wykrywanego rdzenia.
  • Niektóre urządzenia z pojedynczym rdzeniem mogą mieć lub nie mają hiperwątkowość, ale nie są wyświetlane jako wiele rdzeni.
  • Jeśli użytkownik ma swój telefon w trybie oszczędzania energii, nadal wykrywa wiele rdzeni, ale nie rozpoznaje, że działają z ograniczoną pojemnością.

Jestem pewien, że istnieje wiele innych przykładów. Chodzi o to, że prawdopodobnie będzie to koszmar dla większości przypadków, aby automatycznie dostosować ustawienia aplikacji, zwłaszcza biorąc pod uwagę stosunkowo prostsze rozwiązanie: zapytaj użytkownika, jakich ustawień chce użyć przy uruchamianiu aplikacji i łatwo dostosować te ustawienia w dowolnym momencie.

Czasami lepiej jest po prostu obciążyć okrążenie użytkownika, szczególnie jeśli nie wymaga to dużego nakładu pracy, i proporcjonalnie więcej wysiłku, aby deweloper mógł to zrobić. Powodzenia!

Powiązane problemy