consoledevФорум

особенности портирования и написания 2д проектов под psp (3 стр)

Страницы: 1 2 3 4 5 6 7 Следующая »
#30
18:37, 18 мая 2006

bada
Оно возращает int - это хендл файла. Там все стандартно .
FILE* это как раз извращение небольшое, он как раз поверху файл хендл идет.

ну посмотри самплы, ну это уже реально самое простое что можна сделать, их десятки в pspsdk, и у меня на SVN там все это есть.


Таких документаций нет на русском. Я же говорил читать не все , а про CACHE :)

(Хотя программируя на MIPS систему, стоит очень хорошо знать такие документации) :)

#31
19:23, 18 мая 2006

вобщем вкрутил в пнг либу
SceUID fp;
fp = sceIoOpen(filename, PSP_O_RDONLY, 0777);

-----
void png_psp_read_data(png_structp png_ptr, png_bytep data, png_size_t length)
{
  sceIoRead((SceUID)png_ptr->io_ptr, data, length);
}

png_set_read_fn(png_ptr, (void *)fp, png_psp_read_data);
-----

результат (загружал ~3.5мб )
fread- 12 sec
sceIoRead- 11 sec

даааа..прирост налицо не спорю, но что то мега круто от этого не стало, да.

Что то я не пойму, по моим тестам никакого существенного прироста не вижу....если не считать енти примерно 9% ... но это в 2д проекте не фатально как бы, я вот думал что ща будет 100% ну как мин....

#32
20:23, 18 мая 2006

bada

А никто про прирост не говорил совсем. Говорилось что на consoles , fopen , fread, fclose это зло. Потому что кривая реализация в libc.a

#33
20:39, 18 мая 2006

bada
1) На самом деле R4 Manual читается намного проще чем Intel P3 Ясность мысли.

2) Чтобы был прирост тебе надо:

- отказать reallocation, т.е. отказать аллокации по сути. делать стэк из памяти, а не друшлак. как вариант более классический - фпулы.

- отказать libpng исходя из первого пункта.

- inplace textures, фиксапить ручками пару pointers. забыть про понятие texture(const char* file) и думать про texture packs.

- привязывать texture packs к игровым локациям.

- если понадобится сжать, то выбрать со скоростью разжатия большей скорости копирования и чтения.

#34
20:59, 18 мая 2006

Или сменить флешку.

#35
21:48, 18 мая 2006

neteraser
ага, хорошие советы, только это оочень долго реализовывать с учетом того что условия боевые )))
кроме того мне не надо мильен текстур, мне нужно штук -ндцать + с десяток самых больших на фон 512Х512 .... топик то про примитивные 2д проекты, а не про сложные 3д игры  ))))) хотя идеи правильные и когда-нибудь .... ))))
если кого интересует могу прислать на почту демку с тем самым глюком что есть моушн блур....2-3 метра весит

а отказать библиотекам - тогда когда будет проект? через год? неее.....он есть щас...да с тормозами при подгрузке, да не учтены вабще почти все фичи псп, да не оптимизировано нихрена..но вот он - лежит себе и скоро будет у издателя...its a cruel world baby )))))

#36
22:06, 18 мая 2006

bada
1. На вопрос из поста 9 ты так и не ответил :) По ходу дела ты рисуешь quad на весь экран, у KVaks были мысли что так делать не стоит (в значении встает). Пробуй рисовать полосками 32(33)x272.

2. Это совсем никак не дорого, это намного тупее и дешевле. В твоей игре, раз уж все просто, так - заставляешь в photoshop делать тебе texture pack с текстурами одинакового размера, читаешь его inplace. адрес текстуры по номеру высчитывается очень легко.

#37
0:24, 19 мая 2006

neteraser
ну я вот очень тупой )))


мне вот нужно время чтоб разобраться что такое текстур пэк что с ним делать, как это применимо....вот если бы мне кусок кода показал который чето такого делает то я с радостью )) а так , я просто не могу оценить время котороя я потрачу на все это, может это решит какието проблемы, но глобально мне менеджер скажет делать фичи ИИ или там уровни собирать, вот так. А пробовать мысли - это конечно гут но время на инвестигейт я уже съел )))).

Вот положили бы вы тестовые премеры со всякими комментами - было б дело, да, было б мега круто.
Например - вот отрисовка ламерская - она занимает - хз скока времени. А вот мега крутая - она занимает там стокато процентов от ламерской ... и усе. А так в теории ну очень стремно все поднимать...нету времени.

Я просто уже давно не говорю что сделать легко или сложно, каждый человек делает по разному, хоть ему и легко а делает хз скока времени, другой скажет - ооо я не сделаю, и склепает работающий вариант за полчаса. Потому, вот скока времени понадобится переделать на паки или там выводить по слайсам?


а на пост 9 уже раза 2 отвечал как мог.
Вот есть класс текстура, при загрузке при помощи либпнг он получает указатель на сами данные, ширину и длину , при рендере текстуры она рендерится в квад размеры которого идентичны размеру текстуры - все просто чем проще....я вот наверно даже терминологию может неправильно воспринимаю.

Те текстуры макс размера 512х512 не рекомендуются к выводу чтоли?

#38
8:51, 19 мая 2006

bada
я так понял у тебя банально спрашивают размер текстуры (циферку для высоты и циферку для ширины)

#39
9:20, 19 мая 2006

bada
512x512 это п....ц PSP :)

Я еще подозреваю , что после png у тебя 32 бита :)
Самый оптимальный размер текстуры на PS2,PSP ,.... 64x64x4 бита вот так .... :)

А 512x512 у тебя просто может не успевать рендериться отсюда и аhтефакты.


Насчет примеров ....
Здесь таки не благотворительная организация, мы и так стараемся помогать в попытке душевного согласия с подписанным NDA с Sony :)

кроме того здесь все люди очень реально занятые (у меня например 3 проекта , и ничего) , и успевают при этом что то исследовать.Ибо эта "ненужная" работа, это есть тот бесценный опыт, без которого ты никогда не сделаешь достойный title.

Возьми сам все померяй , есть sceKernelGetSystemTimeWide . Отрисуй 1000 раз этот background, сделай sceGuFinish, замеряй время.
А потом отрисуем кусочками по 32x32 и т.д. И поверь , сам получишь кайф от того, когда увидишь как правильно сделать.

#40
12:11, 19 мая 2006

KVaks

ну я как бы не в благотворительную организацию пришел, а высказал свое имхо, как было б лучше. Нет так нет.

А опыт можно получить и смотря на работы других, иначе все бы ходили не в школу, а пытались выучить азбуку сами без ничьей помощи.

А с текстурами, вот вы зря не смотрели на мою функцию рендера, там как раз и выводится полосами 64хheight

#41
13:18, 19 мая 2006

bada

Смотрели, тыкни пальцем где, я же просил дать SLICE :)

#42
0:11, 20 мая 2006

KVaks


пост 25
bada
>KVaks
>#define SLICE_SIZE_F 64.0f

тогда совсем явно слайс  = 64

#43
14:21, 21 мая 2006

Ух ты, как тред разросся, пока я в командировке был...

[bada]
> мне вот нужно время чтоб разобраться что такое текстур пэк что с ним делать, как это применимо....
> вот если бы мне кусок кода показал который чето такого делает то я с радостью )) а так , я просто не могу
> оценить время котороя я потрачу на все это, может это решит какието проблемы, но глобально мне
> менеджер скажет делать фичи ИИ или там уровни собирать, вот так. А пробовать мысли - это конечно
> гут но время на инвестигейт я уже съел )))).

> Вот положили бы вы тестовые премеры со всякими комментами - было б дело, да, было б мега круто.
Сейчас пока еще очень мало примеров, которые можно было бы показывать. Все экспериментируют и делятся своими идеями и результатами. Но вот тратить время на объяснение разницы между FILE* и int sceIOOpen() никто не будет. Как ты сам говорил, все люди очень занятые.

> Например - вот отрисовка ламерская - она занимает - хз скока времени.
> А вот мега крутая - она занимает там стокато процентов от ламерской ... и усе.
> А так в теории ну очень стремно все поднимать...нету времени.

> Я просто уже давно не говорю что сделать легко или сложно, каждый человек делает по разному,
> хоть ему и легко а делает хз скока времени, другой скажет - ооо я не сделаю, и склепает работающий вариант за полчаса.
> Потому, вот скока времени понадобится переделать на паки или там выводить по слайсам?
Зависит еще и от того, как делать :). Вот прикрутишь STL или fopen() - придется сносить и переделывать. Тормознутую или глюкавую игрушку в Сони лучше не показывать.

> а на пост 9 уже раза 2 отвечал как мог.
> Вот есть класс текстура, при загрузке при помощи либпнг он получает указатель на сами данные,
> ширину и длину , при рендере текстуры она рендерится в квад
> размеры которого идентичны размеру текстуры - все просто чем проще....я вот наверно даже
> терминологию может неправильно воспринимаю.
> Те текстуры макс размера 512х512 не рекомендуются к выводу чтоли?
На проекте на PS2 на то, чтобы добавить в проект текстуру 256*256, требовалось разрешение арт-директора и согласование с главным программистом :)
Юзай 128*128, палитру и color key, если уж очень необходимо прозрачность.

С такими ресурсами, как у тебя, оно не взлетит.

#44
21:19, 21 мая 2006

Димка

я конечно все понимаю.....хотелось что б была хоть какая-то база от чего отталкиваться....

то, что делается в данном случае никакая соня в жизни не увидит )))

а большие текстуры выводятся кусочками. это уже указывалось, точнее полосами по 64хвысоту....тормозов или мега глюков замечено не было.

Кстати, а глюки при юзании стл в чем именно заключаются? А то я юзаю...очень. Все это очень странно.

Страницы: 1 2 3 4 5 6 7 Следующая »
consoledevФорум

Тема в архиве.