Сегодня пришлось вплотную подебажить приложение под бадой. По сути пишу это в перерывах между запусками, пока оно компилится/заливается. Приложение большое, использует 3Д графику, OpenGL ES 2, звук итд... отсюда большое количество потребляемой памяти. Но дело не в этом. Собственно девайс появился сегодня вечром, а до этого мы пытались отладить через Remote Test Lab. Это такая шутка, с помощью которой разработчик как бы может тестировать свое приложение на удаленном устройстве. Казалось бы все чудесно, но вот как это выглядит в действительности: установил плагин для Эклипса, залогинился на этот сервер удаленного тестирования - все ок. Зарезервировал себе девайс на пол часа... Давай же теперь тестить! Не тут то было. После передачи пакета (обычный зип) "туда" появляется надпись "Install please waiting" (хз как это правильно переводиться, но суть ясна - ожидайте) и дальше эта надпись остается вечно. Итого: из 30 зарезервированных минут - 5 на заливку пакета и остальное на ожидание. Запустить не удалось ни разу. Ладно бы запустить - даже понажимать на удаленный девайс толком нельзя. После нескольких нажатий (которые впрочем не дают результата) в консоли появляется ошибка java что-то типа "Невозможно преобразовать 0,03" в число (скорее всего проблема в запятой-разделителе). Вылечить это не удалось ни региональными настройками, ни перезагрузкой ни обновлением явы... пол дня потрачено впустую. Сейчас у меня есть девайс и скорость разработки/отладки немного возрасла. Немного, потому что скорость передачи с компьютера на девайс оставляет желать лучшего... вот так вот. Я люблю айфон и Xcode
GLoom > 232Analayzer
А с какой целью ты его используешь? О_О
2Sergio:
Сразу о подводных камнях и прочих хинтах:
а) XE и XX прошивки могут давать сильно разный результат. У нас самсунг тестировал на XXJH3, после чего (уже после старта продаж) выяснилось, что на XEJH4 игра валит видеодрайвер (судя по логам), что приводит сначала к "зависанию", а затем к сваливанию трубки в BSOD. Некоторые чуваки на XXJID говорят, что тоже все не очень стабильно, но JID - не оф прошивка, да и SDK под bada 1.2 появился буквально на днях (вчера, если я не ошибаюсь)
б) В Run configurations есть галочки overwrite data и overwrite binary. Если данные не меняются, то смело снимай галочку о ресурсах. Иначе поседеешь, пока билд в очередной раз зальется на устройство.
в) Не забывай, что на армах запись/чтение по невыровненным адресам - UB. Осторожнее, когда работаешь с файлами.
г) Дип кост настолько дорогой, что всякие смешные истории о его стоимости в D3D9 кажутся оскорблением)
д) После айфона думаю бессмысленно говорить, что никаких discard в шейдере...
Зараза... теперь оно в дебаге работает, в релизе нет. Проверили С++ настройки проекта - идентичные за исключением _DEBUG и оптимизации O0 vs Os
Не выводится 3D сцена, хоть убей. 2Д работает. Сейчас запустили простенькую сценку - она есть лишь наполовину (на сцене кубик и плейн - кубика в релизе нет O_o)
GLoom > Как обновиться? Kies виснет на попытке соединиться с устройством.
SDK только для партнеров, альфа версия. Обновление через киес появится не раньше официального выхода прошивки (а это видимо будет не раньше, чем появится Wave II GT-S8530)
Sergio > Не выводится 3D сцена, хоть убей.
Трудно помочь, не зная ничего)
Наши мучения вчера закончились. При компиляции были проблемы с флоатами - методы, возвращавшие флоат обычно возвращали 0. Решилось это изменением порядка влючения библиотек O_o
Вторая проблема была еще интересней - при компиляции вот такого куска кода
GLenum toGLEnum(OurType t)// OurType = enum из нескольких значений
{
GLenum result = GL_POINS;
switch(t)
{
case OurType_1 :
{
result = GL_TRIANGLES;
break;
}
// ... тут перечислялись все значения их OurType, НО не было default: { }
}
return result;
}
возвращалась какая-то хрень, хотя четко заходило в один из кейсов. Решилось это добавлением "default : { }"
Вот такая вот история...
Кстати, если в Target-Release добавить дефайн "_DEBUG" - логи выводятся