Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты C++

Ответ
 
Опции темы
Старый 07.11.2007, 01:44   #1
HolyDel
 
Регистрация: 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
Atomikc
Бывалый
 
Регистрация: 14.12.2006
Сообщений: 811
Написано 93 полезных сообщений
(для 257 пользователей)
Re: Sigel

Запустил экзешник и... кароче 1 фпс.. правелнее 0.1.. так как картинка раз в 20 секунд меняется тока.... ненаю почему, вроде ПК не слабый.. и поликов всего в кадре 120000... (по 12 на кубик)
(Offline)
 
Ответить с цитированием
Старый 07.11.2007, 13:57   #3
XenuS
Нуждающийся
 
Регистрация: 31.07.2007
Сообщений: 89
Написано одно полезное сообщение
Re: Sigel

у мня было 5 фпс.
intel 2800Mhz
ОЗУ 1 Гб
Видео: Ati radeon 9600 256 Mb
(Offline)
 
Ответить с цитированием
Старый 07.11.2007, 14:35   #4
kilan
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
dimanche13
Мастер
 
Регистрация: 19.03.2007
Сообщений: 1,039
Написано 153 полезных сообщений
(для 252 пользователей)
Re: Sigel

погоди ты ж через ГЛ выводишь, а Б3Д через Директ. 1 фпс вюдха встроенная, пень 3-800 128 рам
__________________
(Offline)
 
Ответить с цитированием
Старый 07.11.2007, 14:57   #7
IGR
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
johnk
Легенда
 
Регистрация: 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
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: Sigel

блитц3д- 10 фпс
твой ехе - 17-18 фпс
Атлон 3200, 128 видео , 512 озу
работает побыстрей)
че вы все двиги пишите((
я тоже хочу, научите меня...
(Offline)
 
Ответить с цитированием
Старый 07.11.2007, 16:28   #11
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Re: Sigel

таой ехе - 22 ФПС
Блитз - 9 ФПС

ЖыФорс 6600 128 Мб ЦП Пеньтиум 4 2800 МГц ОЗУ 1024 Мб

Ых, знал бы я сяху...
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 07.11.2007, 18:42   #12
jimon
 
Сообщений: n/a
Re: Sigel

не тестил .. просто просмотрел код ..

#include "..\..\sigel\sigel.cpp" //подрубаем двиг
дурное начало имхо .. совершенно не грамотно
 
Ответить с цитированием
Старый 07.11.2007, 23:06   #13
HolyDel
 
Регистрация: 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)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Sigel Tutorial 1. Свой Crimsoland. HolyDel C++ 21 02.04.2009 21:25
Sigel vs WarTech HolyDel Болтовня 31 09.04.2008 19:13
Sigel::EntityShaders HolyDel Болтовня 8 01.04.2008 17:52


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com