forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   BlitzMax (http://forum.boolean.name/forumdisplay.php?f=104)
-   -   Оптимизация или Разделение программы на исполняемые компоненты. (http://forum.boolean.name/showthread.php?t=12585)

Greymem 10.06.2010 13:59

Ответ: Оптимизация или Разделение программы на исполняемые компоненты.
 
Еще раз всем спасибо за участие в обсуждении!!!

Цитата:

Сообщение от Randomize (Сообщение 148640)
Поведайте, как. Просто интересно, что именно помогло.



Я уже предлагал.
1) Использование выносных скриптов.
При использовании этого способа нужно помнить, что скорость выполнения скриптов низка. И для релизации поиска пути или расчётов физики использование скриптов не приемлимо.

http://www.blitzmax.com/Community/posts.php?topic=68845

2) Написание dll.
Подходит для сложных рачётов.
Кроссплатформенность отпадает.
Подробнее тут:
http://www.progz.ru/forum/index.php?showtopic=27569


Помогло использование рамки и импорт модулей.

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

Вот это для меня гемор. А если бы там было просто "int+int" то давно бы уже вынес в DLL

Randomize 10.06.2010 15:53

Ответ: Оптимизация или Разделение программы на исполняемые компоненты.
 
Пример реализации всех типов, расчетов внутри dll:
Xors3D, PhysX wrapper, Newton wrapper.
Посмотри внимательно и подумай как оно работет.
У длл есть функции получения и занесения параметров в тип.
Тип как объект получить нельзя. (хотя можно сериализировать, но это накладно)
Внутри dll у каждого типа свой уникальный ID (хендп)
При создании нового объекта возвращай его функцией и используй его при получении.


Часовой пояс GMT +4, время: 17:17.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot