1

heu je ne comprend pas.. c lent a chier... je compile comme cela:
g++ minifps.cpp -o minifps -framework OpenGL -framework GLUT -framework Foundation

ET C'EST ULTRA LENT... genre sans optimisation graphique ce serai aussi rapide...
Comment remedier a ce probleme?

2

Perso, je compile avec ça : -framework OpenGL -lglui -framework GLUT -framework Foundation -framework cocoa
Et aucun problemes, y a bien l'acceleration matérielle comme il faut (programme portable windows/linux/osX)

Le makefile complet :
#################
# Configuration #
#################

# Paths
OBJ = obj
SRC = src

# Exe
CXX = g++
CC = g++
SED = sed
STRIP = strip

VPATH = $(SRC) $(OBJ)

# Sources
CPPSOURCES = main.cpp robot.cpp mug.cpp
CSOURCES = glm.c ihm.c mgi.c
OBJECTS = $(CPPSOURCES:%.cpp=$(OBJ)/%.o) $(CSOURCES:%.c=$(OBJ)/%.o)
DEP = $(CPPSOURCES:%.cpp=$(OBJ)/%.d) $(CSOURCES:%.c=$(OBJ)/%.d)

# Binary name
BINEXT =
BIN = Robot$(BINEXT)

# Compilation flags (including optimisations)
CFLAGS = -Wall -O3 -fomit-frame-pointer
CXXFLAGS = $(CFLAGS)

# Compilation sous Differentes architectures
OS = $(shell uname)
ifeq ($(OS),Darwin) # Compilation sous MacOsX
	LIBS = -framework OpenGL -lglui -framework GLUT -framework Foundation -framework cocoa
else # pour windows
	LIBS = -lglut32 -lGLU32 -lopenGL32 -lglui
endif
ifeq ($(OS),Linux) # Compilation sous Linux
	LIBS = -lglut -lGLU -lGL -lglui
endif

.SUFFIXES: .c .cpp .o .d
.PHONY: clean

#####################
# Buid instructions #
#####################

# Rules to build *.cpp dependencies
$(OBJ)/%.d: %.cpp
	@echo "Calculating $< dependencies"
	@$(CXX) -MM $(CXXFLAGS) $< | $(SED) "s,\($*\).o[ :],$(OBJ)/\1.o $@ : ,g" > $@
# Rules to build *.c dependencies
$(OBJ)/%.d: %.c
	@echo "Calculating $< dependencies"
	@$(CC) -MM $(CFLAGS) $< | $(SED) "s,\($*\).o[ :],$(OBJ)/\1.o $@ : ,g" > $@

# Rules to build *.cpp
$(OBJ)/%.o: %.cpp
	@echo "CXX $<"
	@$(CXX) -c $(CXXFLAGS) -o $@ $<
# Rules to build *.c
$(OBJ)/%.o: %.c
	@echo "CC $<"
	@$(CC) -c $(CFLAGS) -o $@ $<

# Build sequence
all: $(BIN)

$(BIN): $(DEP) $(OBJECTS)
	@echo "Linking $(BIN)"
	@$(CXX) -o $(BIN) $(OBJECTS) $(LIBS)
ifneq ($(STRIP), )
	@echo "Stripping $(BIN)"
	@$(STRIP) $(BIN)
endif
	@echo ""
	@echo "Program succesfull build. Now copy '$(BIN)' anywhere you want"

# Include dependencies
ifneq ($(MAKECMDGOALS), clean)
-include $(DEP)
endif

#########
# Clean #
#########

clean:
	@echo "Cleaning directory"
	@rm -f $(BIN)
	@rm -f $(OBJ)/*.o
	@rm -f $(OBJ)/*.d
Mon site perso : http://www.xwing.info

3

je compile presque comme toi, sauf que je met pas -lglui (je ne l'ai pas).
Et pour ce qui est de l'acceleration graphique, elle est inexistance (ou alors la carte est vraiment pourie.. meme pas fluide pour moins de 20 poly...)

4

Je sais pas comment ça marche avec macosx. Mais je sais que sous *nix avec les cartes nvidia notamment, si le driver est mal installé les programmes OpenGL tournent très lentement (ils n'utilisent presque pas les possibilités de la carte). Tu devrais peut-être regarder de ce côté là ? Essayer de lancer ou compiler d'autre programmes 3d et voir s'ils marchent correctement par exemple.

5

En gros je pense avoir compris... j'ai bien un acceleration graphique, mais la detection clavier est trop lente (j'utilise glut), ce qui fait crore que le prog est super lent...

Un moyen de remedier a ca? (utiliser SDL?)

6

Oué glut c'est juste une petit lib de démonstration, elle n'a jamais été faite pour de vrais projets.

7

que faut il utiliser pour faire du multiplateforme (parce que je dev sur osX mes pote sous win, et le projet est a rendre sous linuxtongue
C'est dommage parce que glut est tres rapide niveau clavier sur windows.

8

SDL est nickel pour faire ça. Y'a toutes les fonctions pour un gros projet (y compris threading, gestion de joystick, son et timers de précision), mais un petit projet n'a pas à s'embeter avec donc ça reste simple.

Pour ce qui est du multiplateforme, SDL tourne sur :
Linux, Windows, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, et QNX. (plateformes supportées officiellement)
et Windows CE, AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, RISC OS, et SymbianOS. (non officiel, mais marche bien quand même en général).

J'espère que ça te suffira wink

9

Je me demande qui joue à Frozen Bubble sous OpenBSD quand même tongue
avatar
I'm on a boat motherfucker, don't you ever forget