Форум программистов, компьютерный форум, киберфорум
Python: PyGame
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
1 / 0 / 1
Регистрация: 01.06.2019
Сообщений: 61

Pygame, оптимизация кода

20.04.2020, 19:30. Показов 2820. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте, пытался создать сеточное поле, карта при подведении мыши к краю должна прокручиваться. По задумке я планировал сделать карту 48 на 48 клеток, ячеек, плиток (называйте как хотите) ячейка 64*48 пикселей. Уже тогда начались проблемы с оптимизацией. Подумав - я решил разбить карту на 9 участков, соответсвенно прорисовывается максимум от 1 до 4 участков, заодно почитав советы про оптимизацию на официальном сайте пайгейма прописал текстурам .convert () и это почти решило проблему.

Почему почти? А потому что если подумать это всего лишь 2D карта без всего, а не полноценная 3D игра(причем ооочень маленькая карта заметьте) а уже такие просядки в фпс. А если мне нужно создать карту 96 на 96 или больше? Поэтому я стал изучать глубже этот вопрос.

Часто советуют использовать psyco.full ().(но я так понял это уже на крайний случай, когда остальные способы уже использованы), использовать openGL(хотя я не понял зачем я всегда думал что opengl + pygame нужны для отрисовки 3D но на офф сайте сказано именно для 2Д - просьба разъяснить), также подгрузка уровней(уже сам догадался и сделал) и самое непонятное цитирую переведенную инфу "Используйте грязные участки". Ну и я так понимаю проблема в самом коде потому что не может почти пустая 2 дешка так тормозить( не должна по крайней мере).

Соответственно если вы поделитесь другими способами то с удовольствием вас выслушаю.
Вложения
Тип файла: zip test8.zip (15.9 Кб, 9 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.04.2020, 19:30
Ответы с готовыми решениями:

При импорте pygame пишет что нет модуля pygame.base
Устанавливаю для kivy.Всё есть (sython,gsstreamer,kivy,pyscripter,python) , а вот фраем. pygame не работает.Почему?Что ещё надо для работы...

Ошибка в pygame AttributeError: 'pygame.Rect' object has no attribute 'blit'
Создаю игру, крестики нолики Почему возникает ошибка и как ее исправить? AttributeError: 'pygame.Rect' object has no attribute 'blit' ...

Pygame ошибка module ‘pygame’ has no ‘init’ member
Всем здравствуйте. Недавно начал работать с VS code и выдает такая ошибка. Прикрепляю полностью скрин. Нашел решение перед каждой...

2
1293 / 677 / 367
Регистрация: 07.01.2019
Сообщений: 2,300
21.04.2020, 06:48
Цитата Сообщение от Kxarog Посмотреть сообщение
opengl + pygame нужны для отрисовки 3D
opengl это про графику через видеокарту вне зависимости от размерности пространства, намного быстрее, чем pygame который использует расчеты на процессоре.

Цитата Сообщение от Kxarog Посмотреть сообщение
Ну и я так понимаю проблема в самом коде
Вроде нет, pygame сам по себе не быстрый, для таких игр можно попробовать pyglet

Цитата Сообщение от Kxarog Посмотреть сообщение
"Используйте грязные участки"
Вот эта функция pygame.display.update() может не только весь экран обновлять, в нее можно передать rectangle с частью экрана который нужно обновить или список участков на экране, но в данном случае это не подходит так как весь экран изменяется
1
1 / 0 / 1
Регистрация: 01.06.2019
Сообщений: 61
21.04.2020, 17:59  [ТС]
Цитата Сообщение от tooru Посмотреть сообщение
для таких игр можно попробовать pyglet
С учетом что по pyglet минимум информации, а я не смог нормально на нем даже кнопку реализовать это будет проблематично, в остальном спасибо за разъяснения.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.04.2020, 17:59
Помогаю со студенческими работами здесь

pygame.error: cannot convert without pygame.display initialized
Только начал изучать спрайты Выдаёт ошибку: Traceback (most recent call last): File "D:/project1/OCode.py", line 18, in...

Оптимизация кода
Написал простенький шифровщик работающий по принципу сдвига. Есть функция podbor (определяет ключ для расшифровки), не знаю, как ее...

Оптимизация методом Ньютона (нахождение точки минимума). Оптимизация кода
MATLAB только начал осваивать. Попытался реализовать нахождение точки минимума методом Ньютона для функции 2*X12 - X1*X2 + 3*X22 -...

Оптимизация кода. Замер времени выполнения части кода.
Доброе утро. Есть желание посмотреть сколько времени занимает выполнение какого-то блока кода/отдельной функции или процедуры/программы...

Типы оптимизация: черная оптимизация, серая оптимизация и белая оптимизация
Много много лет назад, на заре становления профессии "оптимизатора" в какой то умной книжке был создан миф. Это миф о цветовой индефикации...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru