Problemy z projektem…

Jak w tytule, od paru dni męczyłem się z powolnym działaniem emulatorów na Hyper-V w końcu postanowiłem, że robię reset systemu, jednak doszedł nowy problem i teraz stoję w miejscu…

Problemy w emulatorach

Odkąd zacząłem się bawić z SQLite z Azure Mobile Apps (opisałem to tu) pojawiły się problemy z emulatorami Windows 10 Mobile jak i też Andoroida. Dodam, że korzystam z tych od Microsoftu. Problemy te objawiają się straszną powolnością działania sieci w emulatorach, tak jakby szybkość łącza była bardzo niska lub łącze było zapchane.

Początkowo myślałem, że jest to problem z źle skonfigurowaną usługą na Azure np. region ustawiony na US może “lagować”. Niestety zmiany regionu nic nie dały. Co zauważyłem, że podczas połączenia na Skype i w momencie włączenia emulatora jakość video i dźwięku znacznie się pogarszała. Tak jakby emulator zapychał moje łącze internetowe. Pomyślałem, że może coś znajdę w ustawieniach Hyper-v, ale tam też nic nie znalazłem. W google nic na ten temat nie znalazłem… Postanowiłem zrobić reinstall systemu myśląc, że to może rozwiąże problemy (i tak zresztą był potrzebny).

Po reinstalacji

Po reinstalacji systemu i VS przyszedł czas na sprawdzenie (swoją drogą dobrze, że MS zauważył, że obecny instalator VS jest strasznie powolny). Niestety okazało się, że problem z powolnością sieci po włączeniu emulatorów pozostał i nigdzie się nie wybiera… Co ciekawe zauważyłem, że tego problemu nie ma po skompilowaniu aplikacji do Local Machine, co by ostatecznie wykluczyło problem z Azure. Więc ewidentnie jest to problem z Hyper-v lub moją kartą sieciową. Z tym, że karta działa bez problemu do czasu kiedy włączysz emulator i zaczniesz korzystać z sieci, więc to chyba coś z Hyper-V. To co się dzieje po wykonaniu operacji odświeżenia tablicy pokazuje poniższy screen.

bandwitch

Coś co powinno trwać ułamek sekundy trwa parę minut, a transfer danych sięga 32 mb na sekundę, kiedy to powinno być maksimum klika kilobajtów. Coś tu nie gra… Ale to nie wszystko po sprawdzeniu, że problem istnieje na emulatorze Androida, chciałem sprawdzić czy to samo jest cały czas na UWP i…

Unable to load DLL ‘sqlite3.dll’

sqllite_exception

Projekt UWP zaraz po odwołaniu się do SQLite wywala aplikację z komunikatem jak w tytule. Co ciekawe nie miałem tego przed resetem systemu. Problem ten opisałem na stackoverflow jak i na forum Xamarin. Na chwilę obecną bez odpowiedzi dającej rozwiązanie lub ewentualną sugestię gdzie co szukać. Wiem, że UWP w Xamarin.Forms jest obecnie na etapie Preview, ale nie wierzę, że nikt się na ten problem dotychczas nie naciął. Ponieważ nigdzie nie mogę znaleźć rozwiązania stoję w miejscu. Tak jak to opisałem na “stacku” problem z SQLite nie istnieje w projekcie Androida, tam wszystko działa poza powolnością sieci w emulatorze. Problem ten też nie występuje w momencie kiedy uruchomię aplikację na lokalnej maszynie (nie w emulatorze). Więc to tylko problem dla Windows 10 M.

Podsumowując

Z projektem nie ruszyłem tak jak planowałem. Ba nawet wręcz stoję w miejscu. Póki co rozważam następujące opcje na następny tydzień:

  • Poszukać innych emulatorów dla Androida (może Genymotion?)
  • Porzucić projekt w wersji UWP i skupić się na wersji dla Androida (i IOS-a, w przypadku gdy dostanę gdzieś taniego mini maca).

Ostatecznie skupię się na projekcie dla Androida byle jakiś emulator działał dobrze.

Jakby ktoś to czytał i miał jakiś pomysł to zapraszam do komentarzy.

 

  • Co do problemów z netem, probowałes trackować gdzie tak naprawdę idzie cały ruch? Wireshark jakiś albo coś powinny z tym pomóc. Bo czułbym się osobiście mocno zaniepokojony taką powtarzalną sytuacją.

    • Sprawdziłem wygląda to na jakiś wewnętrzny spam pomiędzy wirtualnym switchem hyper-v, a bridge-m do mojej karty WIFI. Dzieje się tylko w czasie wywołania metody w zdalnej usłudze, ale trwa długo (pare min) lub do czas przerwania debug-a.

      Dzięki za komentarz.

  • Pingback: Podsumowanie projektu()