Июнь 4, 2010

Допиливая айфон. Или – я все еще тут, просто – много работы.

Всякое - 16:43

Доделываем уровни к нашему долгожданному ФизиксБоксу. Чего-то дорисовываем, допридумываем. Допиливаем.

И тут дернуло меня вспомнить слова «утечки памяти». Типа, на айфоне – это есть такое дело. Никаких мусорщиков, все сам, ручками. Освобождай память, чтоб, значит, чего плохого не вышло.

Ну, стал читать про утечки этой самой памяти. Читаю, диву дивлюсь. Потестил на тестере в самом ИДЕ, где все и рисую. Утечек оказалось очень жестокое количество. Да еще немцы пишут – у нас тут игра вылетает на девайсах. Дикое дело. Ну что, надо чинить (правда, у нас-то игра НИ РАЗУ не слетала, а запускали мы ее на разных девайсах ОЧЕНЬ много раз. Правда, и причины вылетов у немцев тоже выяснились, они к памяти и утечкам отношения не имели никакого). Чиню, retain’ы, autoreleas’ы, releas’ы, утечек стало меньше. Когда их стало совсем мало, да и небольшие они, нестрашные, мне это уже надоело, решил выслать немцам новую версию (они каждую новую гоняют на предмет всякого). Выслал. Филипп (а есть там один Филипп), сказал «все круто! щас погоням».

Ну, делаю свои дела дальше – достругиваем, доотесываем, допиливаем.

Приходит от немцы Филиппа письмо. «Заметно упала производительность», – пишет, – «пипец просто. Даже на 3ГС стало тормозить! (для тех, кто не в теме – 3ГС – модель айфона, шустрее 3Г раза в полтора-два). У тебя у самого были тормоза?»

У меня, понятно, тормозов не было.

И тут Интуиция решила взять дело в свои руки и ответила немцу: «Когда компилил «релиз» ставил в опшинсах, я надеюсь?»

Не отвечал долго, но скоро таки ответил: «ah, damn, you´re right! =) forgot to switch to release… sorry =)» (По дефолту при открытии нового проекта, выставляется «дебаг»). Он бы еще на айпаде потестил, там тормоза были бы не меньшие.

Вот так добро в очередной раз победило зло, и путь в выходные, все-таки, не был омрачен :-)

Вот такая удивительная история.

Комментарии (7) »

  1. Отладка на iPhone просто сказка. Бывает забудешь где-нибудь retain, попортишь память, свалится в каком-нибудь совсем левом месте, и ищи. Брр…

    Комментарий by Smrdis — Июнь 4, 2010 @ 17:34

  2. Johnny, подскажи, утечки чем ловишь? Xcode это сам умеет, или ты это делаешь в чем-то другом, или есть какая-то сторонняя приблуда? Я не нашел как после прогона unit tests увидеть все утечки.

    Комментарий by Sergey Batishchev — Июнь 4, 2010 @ 17:52

  3. в Xcode – Run->Run with perfomance tool->Leaks

    Комментарий by Johnny-K — Июнь 4, 2010 @ 18:00

  4. Я тут недавно одну флешку тестил – откуда не возьмись тормоза появляются.
    Думал где-то утечки памяти или ещё что…
    Оказалось – трейс.Несколько трейсов тормозили флэш плеер нещадно.Непонятно баг это или что.

    Комментарий by константин — Июнь 4, 2010 @ 18:51

  5. Кстати Джонни, не мог бы ты потестить CS5 в плане быстродействия при экспорте на iphone?Думаю многим было бы интересно.
    Я бы сам это сделал, да у меня айфона нет.

    Комментарий by константин — Июнь 4, 2010 @ 18:54

  6. Что-то похожее (только Филлипа звали Антоном) и у меня было. Кидаю билды, время от времени он мне сообщает, так как бы невзначай, что что-то не работает – то, что не работать в принципе не может. Через месяц(!!!) разработки в багтрекере несколько фундаментальных пунктов красным выделил, мол аларм, пора лечить. Лечить-то нечего было, все давно работало. А у доброго заказчика оказывается 9-я версия плейера была, тогда как флешка компилится в 10-й :)

    Комментарий by Platon — Июнь 4, 2010 @ 19:20

  7. 2 константин

    Как только обзаведусь свободным временем, попробую, потестирую.

    Комментарий by Johnny-K — Июнь 5, 2010 @ 13:31

RSS-лента комментариев к этой записи.

Оставить комментарий

CAPTCHA изображение


                  © Johnny-K, 2010
           Powered by WordPress