Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с памятью компютера, Как управлять памятью 
:(
    Опции темы
Samuil
  Дата 2.5.2006, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в(Job)ываю
**


Профиль
Группа: Участник
Сообщений: 705
Регистрация: 26.4.2006
Где: Uzbekistan.Tashke nt

Репутация: нет
Всего: 6



Здравствуйте! Написал я графическую игру на Яве. Комп тормозит или буквально ползет с ней. Так вот когда я открываю TaskManager он показывает что оперативка почти свободна, а проц вот-вот взорвется. Как сделать так чтобы игру заносить в оперативку и брать ее оттуда? Буду несказанно благодарен и дам бета-версию тому кто поможет smile  


--------------------
Выбор уже сделан, остается его только осознать   
smile    smile 
      smile  

user posted image
PM MAIL ICQ   Вверх
cozzzy
Дата 2.5.2006, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 29.4.2006
Где: Харьков

Репутация: нет
Всего: нет



 smile 

Я думаю ты не совсем в курсе вопроса. 

Цитата(Samuil @  2.5.2006,  11:23 Найти цитируемый пост)
Как сделать так чтобы игру заносить в оперативку и брать ее оттуда?

 smile 

Что ты имеешь ввиду? 

Тебе просто нужна оптимизация кода. Можешь почитать умные книжки по этому вопросу. К примеру "Code Optimization: Effective Memory Usage" Kris Kaspersky  . Возможно ты заюзал не самую удачную технологию. 

И тем более код на яве + тормоза - не такое уж и редкое явление 
PM MAIL   Вверх
powerOn
Дата 2.5.2006, 12:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата

Как сделать так чтобы игру заносить в оперативку и брать ее оттуда?

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

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


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Samuil
Дата 2.5.2006, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в(Job)ываю
**


Профиль
Группа: Участник
Сообщений: 705
Регистрация: 26.4.2006
Где: Uzbekistan.Tashke nt

Репутация: нет
Всего: 6



Хорошо , вот у меня есть большая картинка весит она тоже не мало, в коде есть двойная буфферизация и как мне сделать чтобы в начале эта картинка загрузилась и стала задним фоном JFrame и чтобы двойная буфферизация её не обновляла?  


--------------------
Выбор уже сделан, остается его только осознать   
smile    smile 
      smile  

user posted image
PM MAIL ICQ   Вверх
powerOn
Дата 2.5.2006, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 31
Всего: 159



Цитата

Хорошо , вот у меня есть большая картинка весит она тоже не мало, в коде есть двойная буфферизация и как мне сделать чтобы в начале эта картинка загрузилась и стала задним фоном JFrame и чтобы двойная буфферизация её не обновляла?  


Двойная буферезация предполагает, что ты прорисовку делаешь во внеэкранном буфере. Т.е. сначало рисуем в памяти, а потом копируем изображение из памяти на экран (на фрейм). Просто буферизация предполагает что ты картинку загружаешь предварительно в буфер (BufferedImage). После чего её можно быстро вывести на экран. При этом эту картинку (буфер с картинкой) конечно можно использовать и для двойной буферезации, но все таки это несколько разные понятия...

Загрузить картинку в память можно так:
Код

BufferedImage bufImage = ImageIO.read(new File("C:/myImage.jpg"));
 

 


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
Samuil
Дата 2.5.2006, 14:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в(Job)ываю
**


Профиль
Группа: Участник
Сообщений: 705
Регистрация: 26.4.2006
Где: Uzbekistan.Tashke nt

Репутация: нет
Всего: 6



Огромное Вам спасибо MoonCat smile 
Насчет удаления каталогов: У меня проблемма как можно проверять папку пуста она или нет?
У меня есть один вопрос : Как делать AutoRun для  CD диска на JAVA ???   


--------------------
Выбор уже сделан, остается его только осознать   
smile    smile 
      smile  

user posted image
PM MAIL ICQ   Вверх
Beard
Дата 2.5.2006, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.7.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 9



Цитата

У меня проблемма как можно проверять папку пуста она или нет?


Я бы сделал как-нибудь так:
Код

        File file = new File("");
        if (file.isDirectory()) {
            String[] fileNames = file.list();
            if (fileNames == null) {
                //I/O error occurs
            } else if (fileNames.length == 0) {
                //Dir is empty
            }
        } 
 
PM MAIL   Вверх
Samuil
Дата 2.5.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в(Job)ываю
**


Профиль
Группа: Участник
Сообщений: 705
Регистрация: 26.4.2006
Где: Uzbekistan.Tashke nt

Репутация: нет
Всего: 6



Спасибо а кто может вот это подсказать: ?
Цитата

Как делать AutoRun для  CD диска на JAVA ???   
 


--------------------
Выбор уже сделан, остается его только осознать   
smile    smile 
      smile  

user posted image
PM MAIL ICQ   Вверх
Beard
Дата 2.5.2006, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.7.2005
Где: Санкт-Петербург

Репутация: нет
Всего: 9



Наверное, запустить autorun.inf через
Код

Runtime.getRuntime().exec(...)

 
PM MAIL   Вверх
Samuil
Дата 2.5.2006, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


в(Job)ываю
**


Профиль
Группа: Участник
Сообщений: 705
Регистрация: 26.4.2006
Где: Uzbekistan.Tashke nt

Репутация: нет
Всего: 6



Beard Спасибо попробую smile  


--------------------
Выбор уже сделан, остается его только осознать   
smile    smile 
      smile  

user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.2514 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.