2048 The Game
|
Hellmapper |
Опубликовано 15.03.2014 14:44:21
|
Старший специалист
Сообщений: 454
Зарегистрирован: 03.07.11
|
2048 The Game
Скорее всего вы слышали об этой игре. Все очень просто: перемещая плитки с цифрами и объединяя одинаковые получаем 2048.
(В маркетплейсе добавлю после подтвеждения моего статуса в дримспарке с последующим возобновлением Dev аккаута) |
|
|
|
Hellmapper |
Опубликовано 16.03.2014 21:25:41
|
Старший специалист
Сообщений: 454
Зарегистрирован: 03.07.11
|
Решил перенести на Silverlight+XNA, чтобы не мучиться с ротаторами рекламы. Перенес и вот что заметил: фреймрейт с 29 кадров(XNA без примесей) упал до 24 и иногда поднимается до 29. Уменьшил ко-во тиков на таймере обновления до 233333, но результат стал нестабильным, то 31 кадр, то 40. Есть у кого-нибудь предположения чем так режет силверлайт? |
|
|
|
Alexander |
Опубликовано 16.03.2014 21:49:39
|
Старший специалист
Сообщений: 211
Зарегистрирован: 15.12.13
|
Hellmapper написал:
Решил перенести на Silverlight+XNA, чтобы не мучиться с ротаторами рекламы. Перенес и вот что заметил: фреймрейт с 29 кадров(XNA без примесей) упал до 24 и иногда поднимается до 29. Уменьшил ко-во тиков на таймере обновления до 233333, но результат стал нестабильным, то 31 кадр, то 40. Есть у кого-нибудь предположения чем так режет силверлайт?
может это поможет
XnaFrameworkDispatcherService.cs
GeSHi: C# public class XnaFrameworkDispatcherService : IApplicationService { DispatcherTimer timer; public XnaFrameworkDispatcherService() { timer = new DispatcherTimer (); timer.Interval = TimeSpan.FromTicks(333333); timer.Tick += OnTimerTick; FrameworkDispatcher.Update(); } void OnTimerTick(object sender, EventArgs args) { FrameworkDispatcher.Update(); } void IApplicationService.StartService(ApplicationServiceContext context) { timer.Start(); } void IApplicationService.StopService() { timer.Stop(); } }
Добавлено за 0.014 секунд, используя GeSHi 1.0.8.2
App.xaml
xmlns:local="clr-namespace:Твое.Пространсво.Имен"
<Application.Resources>
</Application.Resources>
<Application.ApplicationLifetimeObjects>
<!--Обязательный объект, обрабатывающий события времени существования приложения-->
<shell:PhoneApplicationService
Launching="Application_Launching" Closing="Application_Closing"
Activated="Application_Activated" Deactivated="Application_Deactivated"
/>
<!--SharedGraphicsDeviceManager используется для отрисовки с помощью XNA Graphics API-->
<xna:SharedGraphicsDeviceManager />
<local:XnaFrameworkDispatcherService />
</Application.ApplicationLifetimeObjects>
</Application>
Изменил(а) Alexander, 16.03.2014 21:50:18 |
|
|
|
Hellmapper |
Опубликовано 17.03.2014 19:56:41
|
Старший специалист
Сообщений: 454
Зарегистрирован: 03.07.11
|
А можешь написать, на что оно повлияет? |
|
|
|
Alexander |
Опубликовано 17.03.2014 20:54:55
|
Старший специалист
Сообщений: 211
Зарегистрирован: 15.12.13
|
Hellmapper написал:
А можешь написать, на что оно повлияет?
А че страшно ?) Вообще это делается в таких проектах для безболезненного воспроизведения SoundEffect. Но может повлияет на производительность. Как показала практика такое поведение может быть из за чего угодно. вот я полностью закомментировал логику и рисование объектов, остался черный экран с fps и тд, и все равно периодически прыгает fps 31-30....31-29
это происходит после завершения каких то потоков, GC.GetTotalMemory увеличивается и когда завершается поток то оно уменьшается примерно на 20кб но так же растет до своего максимума а когда происходит очистка то это не волияет на FPS
----------время игры мин:сек/fps/GC.GetTotalMemory/ApplicationPeakMemoryUsage
Поток 0xe2c завершился с кодом 259 (0x103).
---------- 1:0 30 958 31
---------- 1:1 31 1022 31
Поток 0xdcc завершился с кодом 259 (0x103).
---------- 1:40 30 1432 31
---------- 1:41 31 1496 31
Поток 0xd4c завершился с кодом 259 (0x103).
---------- 2:0 29 1638 31
---------- 2:1 31 690 31
Поток 0x624 завершился с кодом 259 (0x103).
---------- 2:19 29 829 31
---------- 2:20 31 893 31
Поток 0x610 завершился с кодом 259 (0x103).
---------- 2:40 29 1090 31
---------- 2:41 31 1154 31
Поток 0x400 завершился с кодом 259 (0x103).
---------- 3:0 29 1291 31
---------- 3:1 31 1355 31
Поток 0xdac завершился с кодом 259 (0x103).
---------- 3:20 29 1521 31
---------- 3:21 31 1585 31
|
|
|
|
Alexander |
Опубликовано 17.03.2014 21:56:51
|
Старший специалист
Сообщений: 211
Зарегистрирован: 15.12.13
|
А вот это чистый проект SL+Xna, добавил счетчик fps и все
можно по времени заметить как часто прыгает fps, даже в моем не чистом не так часто это происходит
---------- 0:7 30 948
---------- 0:8 31 956
---------- 0:9 30 964
---------- 0:11 31 980
---------- 0:22 30 1036
---------- 0:23 31 1044
---------- 0:24 30 1052
---------- 0:25 31 1060
---------- 0:26 30 1068
---------- 0:27 31 1068
---------- 0:28 30 1076
---------- 0:30 31 1092
---------- 0:31 28 1100
---------- 0:32 31 1100
---------- 0:34 30 1116
---------- 0:38 31 1140
---------- 0:41 30 1156
---------- 0:44 31 466
---------- 0:45 30 474
---------- 0:46 31 482
---------- 0:53 30 514
---------- 0:56 31 538
---------- 0:57 30 538
---------- 0:58 29 546
---------- 0:59 31 554
UPD: причем эмулятор как бы говорит что все ок а вот на девайсе не все хорошо
Изменил(а) Alexander, 17.03.2014 22:04:15 |
|
|
|
Alexander |
Опубликовано 18.03.2014 01:18:54
|
Старший специалист
Сообщений: 211
Зарегистрирован: 15.12.13
|
попробуй еще раздебаж на девайс, отключи usb, запусти и смотри на fps. вообще проверь разницу как при дебаге на девайс с usb и без него |
|
|
|
general |
Опубликовано 18.03.2014 09:50:28
|
Администратор сайта
Сообщений: 3837
Зарегистрирован: 10.02.09
|
на девайсе ни когда не будет стоячего fps. ваше приложение там не единственное.
эмулятор не показатель.
[dtimofeev.blogspot.com] |
|
|
|
Alexander |
Опубликовано 18.03.2014 11:14:51
|
Старший специалист
Сообщений: 211
Зарегистрирован: 15.12.13
|
general написал:
на девайсе ни когда не будет стоячего fps. ваше приложение там не единственное.
эмулятор не показатель.
после завершения потока -2..3fps это заметно, дело скорее в них а не приложениях которые работают параллельно, или vs показывает не только твое приложение а всю систему? что это еще за коды как посмотреть что за поток и к чему он относится?
Поток 0xdac завершился с кодом 259 (0x103). |
|
|
|
general |
Опубликовано 18.03.2014 11:37:06
|
Администратор сайта
Сообщений: 3837
Зарегистрирован: 10.02.09
|
пользовался бы англоязычной vs и гуглил по формулировке.
кто знает что там у тебя в коде.
возможно в потоках запускаются звуки
[dtimofeev.blogspot.com] |
|
|
|
Alexander |
Опубликовано 18.03.2014 11:58:30
|
Старший специалист
Сообщений: 211
Зарегистрирован: 15.12.13
|
general написал:
пользовался бы англоязычной vs и гуглил по формулировке.
кто знает что там у тебя в коде.
возможно в потоках запускаются звуки
заметил что если запустить игру и не касаться экрана то держится 31fps и не падает даже когда завершаются потоки.
но если сделать FreeDrag то после завершения потоков падает fps. |
|
|
|
Alexander |
Опубликовано 18.03.2014 12:13:10
|
Старший специалист
Сообщений: 211
Зарегистрирован: 15.12.13
|
при чем когда freedrag'аешь GC.GetTotalMemory растет быстрее, хм.. |
|
|
|
general |
Опубликовано 18.03.2014 12:17:15
|
Администратор сайта
Сообщений: 3837
Зарегистрирован: 10.02.09
|
что то где то такое проскакивало для sl+xna. погугли
[dtimofeev.blogspot.com] |
|
|
|
general |
Опубликовано 18.03.2014 12:20:23
|
Администратор сайта
Сообщений: 3837
Зарегистрирован: 10.02.09
|
вот Саша комментировал
http://phone.code...item/10875
Изменил(а) general, 18.03.2014 12:20:45
[dtimofeev.blogspot.com] |
|
|
|
Alexander |
Опубликовано 18.03.2014 12:50:13
|
Старший специалист
Сообщений: 211
Зарегистрирован: 15.12.13
|
Я гуглил и находил это, так же сделал, результат одинаковый
кстати может внутри метода не то вставлять надо
GeSHi: C# private void OnTouchFrameReported(object sender, TouchFrameEventArgs e) { while (TouchPanel.IsGestureAvailable) { GestureSample gesture = TouchPanel.ReadGesture(); switch (gesture.GestureType) { case GestureType.FreeDrag: /// break; } } }
Добавлено за 0.010 секунд, используя GeSHi 1.0.8.2
Изменил(а) Alexander, 18.03.2014 12:51:36 |
|
|
|
Hellmapper |
Опубликовано 24.03.2014 21:16:52
|
Старший специалист
Сообщений: 454
Зарегистрирован: 03.07.11
|
Прошу поддержать скачиванием и отзывом. *В сторе появится в ближайшие часы*.
http://www.window...5b7aa7bfd0
/*Из-за проблем с подтверждением записи разраба, в итоге моя игра 20-я из серии 2048, хотя была готова на следующий день после публикации ее в типичном программисте #обида*/
Изменил(а) Hellmapper, 24.03.2014 21:29:40 |
|
|
|
Alexander |
Опубликовано 24.03.2014 21:27:52
|
Старший специалист
Сообщений: 211
Зарегистрирован: 15.12.13
|
Hellmapper написал:
Прошу поддержать скачиванием и отзывом. *В сторе появится в ближайшие часы*.[url] http://www.windowsphone.com/s?appid=e74f8d8b-4b3c-461e-af36-505b7aa7bfd0[/url]
/*Из-за проблем с подтверждением записи разраба, в итоге моя игра 20-я из серии 2048, хотя была готова на следующий день после публикации ее в типичном программисте #обида*/
так что fps поправил? |
|
|
|
Hellmapper |
Опубликовано 24.03.2014 21:29:27
|
Старший специалист
Сообщений: 454
Зарегистрирован: 03.07.11
|
Да не я забил и использовал чистое XNA. А из рекламы ограничился plus1, т.к. это приложение так - проба пера. |
|
|
|
Hellmapper |
Опубликовано 24.03.2014 21:48:07
|
Старший специалист
Сообщений: 454
Зарегистрирован: 03.07.11
|
Блин пишет "Это приложение недоступно на вашем рынке." Кто с этим сталкивался? |
|
|
|
Hellmapper |
Опубликовано 24.03.2014 22:25:05
|
Старший специалист
Сообщений: 454
Зарегистрирован: 03.07.11
|
Так. Прикол ясен - по дефолту Россия исключена из списка публикации. Так же, если мы ставим регион Россия, то придется заполнять Pegi info |
|
|