|
07.11.2007, 01:44
|
#1
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Sigel
Всем привет.
Просьба протестить то, что в архиве (ето пример маво движка).
и вот етот код: (его надо засунуть в туже папку и отключить Debugger, чтобы было по чесному)
Graphics3D 1024,768,32,1
cam=CreateCamera()
TurnEntity cam,0,180,0
cnt=10000
cube=CreateCube()
tex=LoadTexture("texture.bmp")
EntityTexture cube,tex
last_tick=MilliSecs()
Type cub
Field dx#,dy#,dz#,x#,y#,z#,ax#,ay#,az#,r#
Field ent
End Type
For i=1 To cnt
c.cub=New cub
c\ax=Rnd(-2,2)
c\ay=Rnd(-2,2)
c\az=Rnd(-2,2)
c\dx=Rnd(-0.005,0.005)*57
c\dy=Rnd(-0.005,0.005)*57
c\dz=Rnd(-0.005,0.005)*57
c\r=Rnd(20,50)
c\x=Rnd(-1.57,1.57)*57
c\y=Rnd(-1.57,1.57)*57
c\z=Rnd(-1.57,1.57)*57
c\ent=CopyEntity(cube)
Next
x#=0
y#=0
z#=0
While Not KeyDown(1)
For c.cub=Each cub
x=Sin(c\x)*c\r
y=Cos(c\y)*c\r
z=-50+Sin(c\z)*c\r
c\x=c\x+c\dx
c\y=c\y+c\dy
c\z=c\z+c\dz
PositionEntity(c\ent,x,y,z)
TurnEntity(c\ent,c\ax,c\ay,c\az)
Next
frames=frames+1
If(last_tick<MilliSecs()-1000)
last_tick=MilliSecs()
fps=frames
frames=0
EndIf
RenderWorld
Text 10,10,fps
Flip
Wend
пожалуйста, заметьте фпс и напишите его в етот тред (для обоих случаев)
кстати, вот код из примера
#include "stdafx.h"
#include "..\..\sigel\sigel.cpp" //подрубаем двиг
class Cubes
{
public:
float dx,dy,dz,x,y,z,ax,ay,az,r;
Entity* ent;
};
typedef std::list<Cubes*> culist;
culist cl;
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
// TODO: Place code here.
AppTitle("Sigle. Texturing"); //нахвание приложения
Init(1024,768,32,1); //инит графического режима
Surface SurfCube; //создание "меша"
SurfCube.MakeCube(1); //что именно создаем (половина размера куба)
Texture CubeTex("texture.bmp");//грузим тексу
const cnt=10000;
for(int i=0;i<cnt;i++)
{
Cubes* cub=new Cubes;
cub->ax=rnd(-2,2);
cub->ay=rnd(-2,2);
cub->az=rnd(-2,2);
cub->dx=rnd(-0.005,0.005);
cub->dy=rnd(-0.005,0.005);
cub->dz=rnd(-0.005,0.005);
cub->r=rnd(20,50);
cub->x=rnd(-1.57,1.57);
cub->y=rnd(-1.57,1.57);
cub->z=rnd(-1.57,1.57);
cub->ent=new Entity(&SurfCube);
cub->ent->BindTex(&CubeTex);
// cub->ent->Hide();
cl.push_back(cub);
}
Font fnt;
fnt.Bind;
float dx=0,dy=0;
char* a=new char[100];
long last_tick=GetTickCount(),fps=0,frames=0;
while(!KeyDown(VK_ESCAPE))//пока не нажали на еск
{
for(culist::const_iterator ci=cl.begin();ci!=cl.end();ci++)
{
float x,y,z;
x=sin((*ci)->x)*(*ci)->r;
y=cos((*ci)->y)*(*ci)->r;
z=-50+sin((*ci)->z)*(*ci)->r;
(*ci)->x+=(*ci)->dx;
(*ci)->y+=(*ci)->dy;
(*ci)->z+=(*ci)->dz;
(*ci)->ent->Position(x,y,z);
(*ci)->ent->Turn((*ci)->ax,(*ci)->ay,(*ci)->az);
}
Render();//рендерим
frames++;
if(last_tick<GetTickCount()-1000)
{
fps=frames;
frames=0;
last_tick=GetTickCount();
}
itoa(fps,a,10);
fnt.DrawText(a,-0.5,0.3);
itoa(Entts::GetInsCount(),a,10);
fnt.DrawText(a,-0.5,0.25);
itoa(Entts::GetOutCount(),a,10);
fnt.DrawText(a,-0.5,0.2);
Flip();//отображаем
}
DeInit();//деинициализация, освобождаем память
return 0;
}
можете заметить, что блицевский синтаксис я не копирую. и не собираюсь.
сам двиг пока ничего не умеет, кроме как выводить объект и текстурить его (ну еще выводить текст). Вывод сделан крайне неоптимально (уже второй день бьюсь над VBO, но пока никак не "побежу", да и от glRotate glTranslate тоже надо избавляться. Однако даже на крайне неоптимальном выводе, мой двиг выводит затекстуренные кубы быстрее чем старичок блиц3д.
сама демка рисует 10000 кубов (и в том и в том случае), затекстуренных тексой 512 на 512.
на моем компе:
sigel - 23-30 фпс
blitz3d - 12-19фпс
к сожалению создать полностью идентичную демку мне не удалось, так что о разумности сравнения не особо заикаюсь, но то, что вывод по крайней мере "не медленнее" - ето имхо факт
|
(Offline)
|
|
07.11.2007, 03:08
|
#2
|
Бывалый
Регистрация: 14.12.2006
Сообщений: 811
Написано 93 полезных сообщений (для 257 пользователей)
|
Re: Sigel
Запустил экзешник и... кароче 1 фпс.. правелнее 0.1.. так как картинка раз в 20 секунд меняется тока.... ненаю почему, вроде ПК не слабый.. и поликов всего в кадре 120000... (по 12 на кубик)
|
(Offline)
|
|
07.11.2007, 13:57
|
#3
|
Нуждающийся
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
|
Re: Sigel
у мня было 5 фпс.
intel 2800Mhz
ОЗУ 1 Гб
Видео: Ati radeon 9600 256 Mb
|
(Offline)
|
|
07.11.2007, 14:35
|
#4
|
AnyKey`щик
Регистрация: 06.09.2006
Сообщений: 3
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Sigel
FPS=9 CPU=ADM Atlon 2000+ (1.86GHz) RAM=386MB GPU=GForce4 MX440 64 MB RAM
|
(Offline)
|
|
07.11.2007, 14:40
|
#5
|
Модератор
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений (для 1,694 пользователей)
|
Re: Sigel
Было ~22 фпс.
AMD 3000+
ОЗУ 1 гб
6600 GeForce 128 мб
|
(Offline)
|
|
07.11.2007, 14:45
|
#6
|
Мастер
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений (для 252 пользователей)
|
Re: Sigel
погоди ты ж через ГЛ выводишь, а Б3Д через Директ. 1 фпс вюдха встроенная, пень 3-800 128 рам
|
(Offline)
|
|
07.11.2007, 14:57
|
#7
|
Blitz's Shame !!
Регистрация: 31.03.2007
Сообщений: 3,639
Написано 832 полезных сообщений (для 2,013 пользователей)
|
Re: Sigel
я еще не затестил , но попробую обезательно !!
как не странно но люди пишут ФПС только в одном случее !!
интересно было бы сравнить оба !!
|
(Offline)
|
|
07.11.2007, 15:06
|
#8
|
Модератор
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений (для 1,694 пользователей)
|
Re: Sigel
Я бы написла ,но у меня б3д нету. =(
|
(Offline)
|
|
07.11.2007, 15:44
|
#9
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Sigel
23-26
P4 - 3.0 GHz, 2048mb DDRII, 128mb GeForce 6600GT.
|
(Offline)
|
|
07.11.2007, 15:50
|
#10
|
Бывалый
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений (для 110 пользователей)
|
Re: Sigel
блитц3д- 10 фпс
твой ехе - 17-18 фпс
Атлон 3200, 128 видео , 512 озу
работает побыстрей)
че вы все двиги пишите((
я тоже хочу, научите меня...
|
(Offline)
|
|
07.11.2007, 16:28
|
#11
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,742
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Re: Sigel
таой ехе - 22 ФПС
Блитз - 9 ФПС
ЖыФорс 6600 128 Мб ЦП Пеньтиум 4 2800 МГц ОЗУ 1024 Мб
Ых, знал бы я сяху...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
07.11.2007, 18:42
|
#12
|
|
Re: Sigel
не тестил .. просто просмотрел код ..
#include "..\..\sigel\sigel.cpp" //подрубаем двиг
дурное начало имхо .. совершенно не грамотно
|
|
|
07.11.2007, 23:06
|
#13
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Sigel
Atomicк, какая видюха? И неужели на самом деле там редко обновляются кадры?
Jimon, а какой способ подключения грамотнее?
|
(Offline)
|
|
07.11.2007, 23:08
|
#14
|
Дэвелопер
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений (для 17 пользователей)
|
Re: Sigel
Жираф 5500
Пень 3,0
1гб рама
твоя 20-30фпс
блица 13
|
(Offline)
|
|
07.11.2007, 23:09
|
#15
|
Модератор
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений (для 1,694 пользователей)
|
Re: Sigel
Замерил в б3д.
16 фпс стабильно 0о
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:40.
|