Комментарии 60
Не проще ли было портировать под AirplaySDK или переписать под Unity?
>прикручены вертекс буфера (VBO)
Зачем???
у iPhone shared memory и нет отдельной видео памяти. VBO прикручивай, не прикручивай, а результат будет одинаковый.
blackpixel.com/blog/399/iphone-vertex-buffer-object-performance/
>прикручены вертекс буфера (VBO)
Зачем???
у iPhone shared memory и нет отдельной видео памяти. VBO прикручивай, не прикручивай, а результат будет одинаковый.
blackpixel.com/blog/399/iphone-vertex-buffer-object-performance/
+4
Одновременно :)
+1
Была цель разобраться — вот и разобрался.
Это возможно ничего не принесло но ничего и не унесло.
Это возможно ничего не принесло но ничего и не унесло.
0
Вы про Airplay или VBO?
0
VBO
0
Тогда не совсем понимаю.
Вариант 1: Сделали отдельную тестовую апп, побаловались VBO, разобрались. И сделали это на платформе где они работают. При желании замерили производительность. Цель достигнута
Вариант 2: Добавили в программу код, который не нужен и фактически ничего не делает. Никак не влияет ни на производительность ни на что-либо другое.
Вы выбрали «вариант 2». Зачем?
Вариант 1: Сделали отдельную тестовую апп, побаловались VBO, разобрались. И сделали это на платформе где они работают. При желании замерили производительность. Цель достигнута
Вариант 2: Добавили в программу код, который не нужен и фактически ничего не делает. Никак не влияет ни на производительность ни на что-либо другое.
Вы выбрали «вариант 2». Зачем?
0
Кстати, AirplaySDK теперь называется Marmalade.
И цену они скинули до $500.
И цену они скинули до $500.
0
-1
-1
к чему это? это с ифона скриншот?
понимаете, тут такая фишка… выигрыш от VBO на iPhone не возможен даже теоретически. Так как там нет видеопамяти.
понимаете, тут такая фишка… выигрыш от VBO на iPhone не возможен даже теоретически. Так как там нет видеопамяти.
-2
рекомендую к окулисту записаться.
-2
рекомендую записаться к… даже незнаю кому.
ну говориш человеку — землю круглая, а он тебе «нет плоская, сам вижу».
почитайте доки от епл, форумы разработчиков, посмотрите код в опенсорс движках…
ну говориш человеку — землю круглая, а он тебе «нет плоская, сам вижу».
почитайте доки от епл, форумы разработчиков, посмотрите код в опенсорс движках…
-1
давайте почитаем.
developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesforWorkingwithVertexData/TechniquesforWorkingwithVertexData.html#//apple_ref/doc/uid/TP40008793-CH107-SW1
например: " Each time DrawModel is called, the index and vertex data are copied to OpenGL ES, and transferred to the graphics hardware. If the vertex data does not change between invocations, these unnecessary copies can impact performance. To avoid unnecessary copies, your application should store its vertex data in a vertex buffer object (VBO). Because OpenGL ES owns the vertex buffer object’s memory, can store the buffer in memory that is more accessible to the graphics hardware, or pre-process the data into the preferred format for the graphics hardware."
дальше продолжать?
developer.apple.com/library/ios/#documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesforWorkingwithVertexData/TechniquesforWorkingwithVertexData.html#//apple_ref/doc/uid/TP40008793-CH107-SW1
например: " Each time DrawModel is called, the index and vertex data are copied to OpenGL ES, and transferred to the graphics hardware. If the vertex data does not change between invocations, these unnecessary copies can impact performance. To avoid unnecessary copies, your application should store its vertex data in a vertex buffer object (VBO). Because OpenGL ES owns the vertex buffer object’s memory, can store the buffer in memory that is more accessible to the graphics hardware, or pre-process the data into the preferred format for the graphics hardware."
дальше продолжать?
-1
Ну тогда советую вам обратится к окулисту. В статье говорилось про оптимизацию под старые девайсы. У которых Shared Memory и VBO просто и банально не работают.
Или у вас подход такой «пускай под медленным девайсом тормозит еще больше, зато там где работает хорошо мы еще больше отоптимизируем»?
Или у вас подход такой «пускай под медленным девайсом тормозит еще больше, зато там где работает хорошо мы еще больше отоптимизируем»?
-1
Боюсь окончательно разрушить вашу неокрепшую психику, но на старых девайсах польза от VBO еще более заметна. Советую все же сходить на прием к окулисту, а потом внимательно, в очках, перечитать приведенный мной выше абзац.
0
бугага. наверное потому для старых девайсов в игровых движках VBO отлючают :) стоб тормозило сильнее. ага.
>http://www.cocos2d-iphone.org/forum/topic/15047
For normal rendering VBO's are about 5 % slower on older devices than vertex arrays.
>http://iphonedevelopment.blogspot.com/2009/07/to-vbo-or-not-to-vbo.html
>http://stackoverflow.com/questions/2761322/iphone-and-vertex-buffer-objects
>http://www.cocos2d-iphone.org/forum/topic/15047
For normal rendering VBO's are about 5 % slower on older devices than vertex arrays.
>http://iphonedevelopment.blogspot.com/2009/07/to-vbo-or-not-to-vbo.html
>http://stackoverflow.com/questions/2761322/iphone-and-vertex-buffer-objects
-2
а почитать собственные ссылки? или до похода к окулисту никак?
Well, I am not sure exactly what he was comparing but the main improvement is on the CPU side and unless the CPU is already being stressed, obviously it wont make any difference. In other words, any speed improvement will not show up itself unless your app is CPU limited ( which most 3G apps were once you were pushing more than 10-20 K vertices because of the copying of vertices around)
-1
для всех остальных поясню — прежде чем попасть на GPU данные о вершинах проходят «предпродажную» подготовку (приводятся к нужному формату, выравниваются и т.п.). Этот процесс делается на CPU, соответственно, чем слабее CPU, тем больше выгода от VBO, в котором данные хранятся в нужном формате (в случае GL_STATIC_DRAW) и не требуют каких-либо телодвижений перед копированием на GPU.
И да, видеопамять на айфонах действительно общая с основной, но это не отменяет наличие кешей на GPU.
И да, видеопамять на айфонах действительно общая с основной, но это не отменяет наличие кешей на GPU.
+3
Спасибо за информацию.
0
Я сейчас пользуюсь AirPlaySDK (который недавно переименовали в Marmalade и, к сожалению, подняли цены) и он позволяет прямо из визуал студио создавать iOS, Android и другие версии аплцикации, т.е. фактически экономит создание всех описанных инструментов и покупку мака. Кстати, я думаю что даже при новой цене на лицензию, с учетом покупки мака, он все равно может окупиться.
+1
1) У меня уже была игра и движок
2) Пару раз уже обжигался на сторонних движках
2) Пару раз уже обжигался на сторонних движках
-1
1) AirPlay — это не игровой движок, а низкоуровневая библиотека, которая изолирует от особенностей платформы и железа, а так же набор инструментов. Перенести готовый игровой движок на AirPlay достаточно легко. В одной из последний версий, у них даже появилась обертка с интерфейсом OpenGL, но которая скрывает особенности железа и реализации.
2.1) «Not invented here syndrom» — не есть хорошо, влечет за собой трату времени и велосипеды которые часто оказываются хуже стандартных решений.
2.2) С закрытыми библиотеками таки есть проблема, собственно я сейчас с AirPlay сейчас на это и налетел, с этой сменой лицензирования. Еще, ИМХО, важно чтоб у всех, включая коммерческих библиотеках, которыми вы пользуетесь — был соурскод. Очень неприятно за день до релиза наткнуться на чужой бак в закрытой либе или потратить неделю на отладку бага в чужом коде косвеным способом.
2.1) «Not invented here syndrom» — не есть хорошо, влечет за собой трату времени и велосипеды которые часто оказываются хуже стандартных решений.
2.2) С закрытыми библиотеками таки есть проблема, собственно я сейчас с AirPlay сейчас на это и налетел, с этой сменой лицензирования. Еще, ИМХО, важно чтоб у всех, включая коммерческих библиотеках, которыми вы пользуетесь — был соурскод. Очень неприятно за день до релиза наткнуться на чужой бак в закрытой либе или потратить неделю на отладку бага в чужом коде косвеным способом.
+1
Маловато технических деталей. Например, та самая настройка Cygwin, которая в данном случае достаточно важный и интересный пункт. Так же совсем не понятно как был собран toolchain для сборки для девайса.
+2
1) code.google.com/p/iphone-dev/wiki/Building
2) www.saurik.com/id/4 — Этот вариант у меня и заработал
Обновлю ссылки
2) www.saurik.com/id/4 — Этот вариант у меня и заработал
Обновлю ссылки
0
а какой sdk при toolchain-е используется?
может быть выложите образ cygwin-dir на торренты?
может быть выложите образ cygwin-dir на торренты?
0
makefile для сборки тулчейна по варианту www.saurik.com/id/4
sites.google.com/site/gameimplosion/makefile
sites.google.com/site/gameimplosion/makefile
0
Кстати, я не могу сходу найти информацию о том, как в айфонах обстоят дела с floating point, но я в целях переносимости и производительности, использую Box2D с числами с фиксированной точкой.
0
c++ float работает
0
Понятное дело, что работает. Вопрос в производительности. Физическая симуляция — это дофига работы на CPU, и если реализация плавающей точки в процессоре и компиляторе не очень — то это может оказаться узким местом.
0
Все там хорошо с float.
Работает очень шустро.
Там есть VFP, и хорошая либа его использующая code.google.com/p/vfpmathlibrary/
Работает очень шустро.
Там есть VFP, и хорошая либа его использующая code.google.com/p/vfpmathlibrary/
0
Статья описывает насколько это хардкорно самому писать под айфон без использования готовых фреймворков. Опыт штука, конечно, классная, но в гейм деве, особенно под мобильные устройства, важна скорость разработки. Airplay SDK и другие окупаются полностью, экономить на этом не стоит.
0
А можно как-то попробовать это приложеньице под виндой, люблю подобные игрушки, а Garry's Mod уже наскучил :)
0
На чем писалось? с++ или objective c?
0
Движок на c++
5 файлов на Objective C.
5 файлов на Objective C.
0
Кроме шуток — перенесите в блог «Ненормальное программирование».
+5
Ну а как там с профитом? Окупилось?
0
Пользуясь случаем хочу спросить — сейчас поставил macos x на виртуал бокс, качаю xcode. На ебее сейчас полно предложений по внесению udid в список разработчиков (для тестирования беты ios 5)
Можно ли после внесения udid устройства таким образом тестить самостоятельно написанные программы, не джейлбрейкая при этом девайс? Спасибо!
Можно ли после внесения udid устройства таким образом тестить самостоятельно написанные программы, не джейлбрейкая при этом девайс? Спасибо!
0
Нет, для тестирования нужен сертификат разработчика.
0
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за наводку, погуглю.
0
На симуляторе многое не проверишь… знаю по собственному опыту. Тормоза в сравнении с устройством — раз, нет мультитача — два, нет GPS-данных (т.е., они всегда одни и те же, указывают на офис эппла) — три, нет гироскопов и т.п. — четыре, и т.п… ИМХО, годится в основном для тестирования UI и малочй части логики. UX тестировать вообще нереально.
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Разработка игрового приложения под iPhone