Bad Performance with Self-Compiled Acwin.exe

Started by Ali, Wed 05/06/2013 18:03:21

Previous topic - Next topic

Ali

To investigate this I'm trying to compile Engine.sln in Visual Studio 2008 (Express). I have installed DirectX SDK (June 2010), and told it to include Common and Common/libinclude as advised here

It gets a fair way through the build, successfully building Common.Lib and Compiler.Lib, then gives this error:

Quote1>fatal error C1900: Il mismatch between 'P1' version '20080116' and 'P2' version '20070207'
1>LINK : fatal error LNK1257: code generation failed

Googling the error suggests that some library has been built with a different version. But most of the remedies involve installing SP1 (which isn't possible for the Express Version) or rebuilding the offending static library - which I don't know how to do.

Can you offer any suggestions for how I can get around this?

JJS

Are you sure that you cannot install the service pack in the express edition? I see no indication for that.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

Ali

I tried installing SP1 but it gives this message:

QuoteThis update is designed for only the Microsoft Visual Studio 2008 (ENU) product family, and is not compatible with any Express editions.

Crimson Wizard

Quote from: Ali on Wed 05/06/2013 18:03:21and told it to include Common and Common/libinclude as advised here
You don't have to do this, they should already be included in the project... if they weren't (which would be strange), that means there's some mistake in solution.

What brings my attention is that you are building Compiler... which is not needed in the Engine. A big oversight by me, it should be removed from solution (and left only for the Editor).

Can you show more of the log, maybe there's an indication to what library is that? (although I have suspicions).

Ali

I don't think the Common, Common/lib include made any difference. I just did that and installed DX SDK because I was getting "file missing" errors when compiling. I guess the DX SDK fixed those errors, because they aren't occurring now.

Here's the output text:

Spoiler
Compiling...
afile.c
cstretch.c
wkeybd.c
wmouse.c
wwnd.c
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\allegro-4.2.2-agspatch\win\wwnd.c(473) : warning C4018: '<' : signed/unsigned mismatch
almp3.c
common.c
dct64_i386.c
decode_i386.c
interface.c
layer2.c
layer3.c
tabinit.c
alogg.c
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\alogg\alogg.c(396) : warning C4101: 'x' : unreferenced local variable
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\alogg\alogg.c(395) : warning C4101: 'data_array' : unreferenced local variable
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\alogg\alogg.c(580) : warning C4101: 'x' : unreferenced local variable
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\alogg\alogg.c(579) : warning C4101: 'data_array' : unreferenced local variable
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\alogg\alogg.c(956) : warning C4101: 'x' : unreferenced local variable
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\alogg\alogg.c(955) : warning C4101: 'data_array' : unreferenced local variable
aaudio.c
adisplay.c
getbits.c
getblk.c
gethdr.c
getpic.c
Generating Code...
Compiling...
idct.c
motion.c
mpeg1dec.c
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\apeg-1.2.1\mpeg1dec.c(1) : warning C4005: 'DISABLE_MPEG_AUDIO' : macro redefinition
        command-line arguments :  see previous definition of 'DISABLE_MPEG_AUDIO'
mpg123.c
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\apeg-1.2.1\audio\mpg123.c(8) : warning C4005: 'DISABLE_MPEG_AUDIO' : macro redefinition
        command-line arguments :  see previous definition of 'DISABLE_MPEG_AUDIO'
ogg.c
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\apeg-1.2.1\ogg.c(7) : warning C4005: 'int64_t' : macro redefinition
        c:\users\ali\documents\visual studio 2008\projects\ags-master\windows\include\allegro\platform\almsvc.h(79) : see previous definition of 'int64_t'
recon.c
ALPLAY.C
ATEXIT.C
CLICKREM.C
DATDUH.C
DATIT.C
DATMOD.C
DATS3M.C
DATUNLD.C
DATXM.C
DUHLEN.C
DUMBFILE.C
ITLOAD.C
ITMISC.C
ITORDER.C
Generating Code...
Compiling...
ITREAD.C
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\dumb-0.9.2\it\itread.c(244) : warning C4244: '=' : conversion from 'long' to 'byte', possible loss of data
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\dumb-0.9.2\it\itread.c(253) : warning C4244: '=' : conversion from 'long' to 'byte', possible loss of data
ITRENDER.C
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\dumb-0.9.2\it\itrender.c(484) : warning C4244: '=' : conversion from 'sample_t' to 'float', possible loss of data
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\dumb-0.9.2\it\itrender.c(485) : warning C4244: '=' : conversion from 'sample_t' to 'float', possible loss of data
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\dumb-0.9.2\it\itrender.c(2971) : warning C4244: 'function' : conversion from 'float' to 'int', possible loss of data
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\libsrc\dumb-0.9.2\it\itrender.c(2974) : warning C4244: 'function' : conversion from 'float' to 'int', possible loss of data
ITUNLOAD.C
LOADDUH.C
LOADMOD.C
LOADS3M.C
LOADXM.C
MAKEDUH.C
MEMFILE.C
PACKFILE.C
RAWSIG.C
READDUH.C
READMOD.C
READS3M.C
READXM.C
REGISTER.C
RENDDUH.C
RENDSIG.C
RESAMPLE.C
SAMPBUF.C
Generating Code...
Compiling...
SILENCE.C
STDFILE.C
UNLOAD.C
XMEFFECT.C
windows.c
Generating Code...
Compiling...
audiochannel.cpp
audioclip.cpp
button.cpp
cdaudio.cpp
character.cpp
characterextras.cpp
characterinfo.cpp
datetime.cpp
dialog.cpp
dialogoptionsrendering.cpp
dialogtopic.cpp
display.cpp
draw.cpp
drawingsurface.cpp
dynamicsprite.cpp
event.cpp
file.cpp
game.cpp
gamesetup.cpp
gamestate.cpp
Generating Code...
Compiling...
global_api.cpp
global_audio.cpp
global_button.cpp
global_character.cpp
global_datetime.cpp
global_debug.cpp
global_dialog.cpp
global_display.cpp
global_drawingsurface.cpp
global_dynamicsprite.cpp
global_file.cpp
global_game.cpp
global_gui.cpp
global_hotspot.cpp
global_inventoryitem.cpp
global_invwindow.cpp
global_label.cpp
global_listbox.cpp
global_mouse.cpp
global_object.cpp
Generating Code...
Compiling...
global_overlay.cpp
global_palette.cpp
global_parser.cpp
global_plugin.cpp
global_record.cpp
global_region.cpp
global_room.cpp
global_screen.cpp
global_slider.cpp
global_string.cpp
global_textbox.cpp
global_timer.cpp
global_translation.cpp
global_video.cpp
global_viewframe.cpp
global_viewport.cpp
global_walkablearea.cpp
global_walkbehind.cpp
gui.cpp
guicontrol.cpp
Generating Code...
Compiling...
guiinv.cpp
hotspot.cpp
interfacebutton.cpp
interfaceelement.cpp
inventoryitem.cpp
inventoryiteminfo.cpp
invwindow.cpp
label.cpp
listbox.cpp
math.cpp
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\ac\math.cpp(53) : warning C4244: 'initializing' : conversion from 'int' to 'float', possible loss of data
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\ac\math.cpp(59) : warning C4244: 'initializing' : conversion from 'double' to 'float', possible loss of data
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\ac\math.cpp(181) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\ac\math.cpp(189) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
mouse.cpp
movelist.cpp
object.cpp
overlay.cpp
parser.cpp
path.cpp
properties.cpp
record.cpp
region.cpp
richgamemedia.cpp
Generating Code...
Compiling...
room.cpp
room_engine.cpp
roomobject.cpp
roomstatus.cpp
route_finder.cpp
screen.cpp
screenoverlay.cpp
slider.cpp
sprite.cpp
spritecache_engine.cpp
string.cpp
c:\program files\microsoft sdks\windows\v6.0a\include\wingdi.h(167) : warning C4005: 'VTA_LEFT' : macro redefinition
        c:\users\ali\documents\visual studio 2008\projects\ags-master\common\ac\gamestructdefines.h(32) : see previous definition of 'VTA_LEFT'
c:\program files\microsoft sdks\windows\v6.0a\include\wingdi.h(168) : warning C4005: 'VTA_RIGHT' : macro redefinition
        c:\users\ali\documents\visual studio 2008\projects\ags-master\common\ac\gamestructdefines.h(33) : see previous definition of 'VTA_RIGHT'
system.cpp
textbox.cpp
timer.cpp
translation.cpp
tree_map.cpp
viewframe.cpp
viewport.cpp
walkablearea.cpp
walkbehind.cpp
Generating Code...
Compiling...
cc_agsdynamicobject.cpp
cc_audiochannel.cpp
cc_audioclip.cpp
cc_character.cpp
cc_dialog.cpp
cc_dynamicarray.cpp
cc_dynamicobject.cpp
cc_gui.cpp
cc_guiobject.cpp
cc_hotspot.cpp
cc_inventory.cpp
cc_object.cpp
cc_region.cpp
cc_serializer.cpp
managedobjectpool.cpp
scriptdatetime.cpp
scriptdialogoptionsrendering.cpp
scriptdrawingsurface.cpp
scriptdynamicsprite.cpp
scriptfile.cpp
Generating Code...
Compiling...
scriptoverlay.cpp
scriptstring.cpp
scriptviewframe.cpp
agsstaticobject.cpp
staticarray.cpp
ali3dd3d.cpp
ali3dogl.cpp
ali3dsw.cpp
blender.cpp
color_engine.cpp
gfxfilter.cpp
gfxfilter_aad3d.cpp
gfxfilter_allegro.cpp
gfxfilter_d3d.cpp
gfxfilter_hq2x.cpp
gfxfilter_hq3x.cpp
gfxfilter_scaling.cpp
gfxfilter_scalingallegro.cpp
animatingguibutton.cpp
cscidialog.cpp
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\gui\guidialoginternaldefs.h(31) : warning C4005: 'getch' : macro redefinition
        c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\ac\record.h(38) : see previous definition of 'getch'
Generating Code...
Compiling...
gui_engine.cpp
guidialog.cpp
mylabel.cpp
mylistbox.cpp
mypushbutton.cpp
c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\gui\guidialoginternaldefs.h(31) : warning C4005: 'getch' : macro redefinition
        c:\users\ali\documents\visual studio 2008\projects\ags-master\engine\ac\record.h(38) : see previous definition of 'getch'
mytextbox.cpp
newcontrol.cpp
cc_instance.cpp
executingscript.cpp
exports.cpp
runtimescriptvalue.cpp
script.cpp
script_api.cpp
script_engine.cpp
script_runtime.cpp
systemimports.cpp
ambientsound.cpp
audio.cpp
clip_mydumbmod.cpp
clip_myjgmod.cpp
Generating Code...
Compiling...
clip_mymidi.cpp
clip_mymp3.cpp
clip_myogg.cpp
clip_mystaticmp3.cpp
clip_mystaticogg.cpp
clip_mywave.cpp
queuedaudioitem.cpp
sound.cpp
soundcache.cpp
soundclip.cpp
acwavi.cpp
acwavi3d.cpp
video.cpp
consoleoutputtarget.cpp
debug.cpp
filebasedagsdebugger.cpp
namedpipesagsdebugger.cpp
rawfileoutputtarget.cpp
config.cpp
engine.cpp
Generating Code...
Compiling...
game_file.cpp
game_run.cpp
game_start.cpp
graphics_mode.cpp
main.cpp
quit.cpp
udpate.cpp
version.cpp
agsplatformdriver.cpp
acplwin.cpp
agsplugin.cpp
pluginobjectreader.cpp
acwsetup.cpp
mousew32.cpp
fonts_engine.cpp
test_all.cpp
test_file.cpp
test_sprintf.cpp
test_string.cpp
test_version.cpp
Generating Code...
Compiling...
minidump.cpp
hq2x3x.cpp
Generating Code...
Compiling resources...
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation.  All rights reserved.
Compiling manifest to resources...
Microsoft (R) Windows (R) Resource Compiler Version 6.0.5724.0
Copyright (C) Microsoft Corporation.  All rights reserved.
Linking...
fatal error C1900: Il mismatch between 'P1' version '20080116' and 'P2' version '20070207'
LINK : fatal error LNK1257: code generation failed
Results
       
Build log was saved at "file://c:\Users\Ali\Documents\Visual Studio 2008\Projects\ags-master\Solutions\Engine.App\Debug\BuildLog.htm"
Engine.App - 1 error(s), 24 warning(s)
[close]

JJS

It looks like you can download VS 2008 Express with SP1 too. The english Microsoft site doesn't mention it anymore but the links to the ISOs still seem to work: http://download.microsoft.com/download/e/8/e/e8eeb394-7f42-4963-a2d8-29559b738298/VS2008ExpressWithSP1ENUX1504728.iso You can eventually get there when googling for visual studio 2008 express with sp1.

E: The log looks alright except for the linker problem.
Ask me about AGS on PSP, Android and iOS! Source, Daily builds

Crimson Wizard

I wonder if you may still find 2008 SP1 Express on the torrentz  (roll)

Ali

JJS's link worked, thanks! It compiles in the SP1 version.

Ali

Sorry for yet another question - I appreciate your patience.

When I compile acwin.exe using VS2008 Express and then build a game, I have a problem with winsetup.exe not terminating. When I click cancel the dialogue window vanishes, but it stays on the taskbar and has to be closed using Task Manager. This is using unmodified sourcecode from here: https://github.com/adventuregamestudio/ags running Win 7 and building games with both 3.2.1 and the 3.3 beta.

The part of the code that exits the window seems to be line 566 in acwsetup.cpp:
Code: C
EndDialog(hDlg, LOWORD(wParam));


But that's as far as I've got. Can anyone suggest an explanation/solution?

Crimson Wizard

#9
Are you making Release or Debug build?
I have similar problem with Debug build at certain conditions since I picked up CJ's source.
We even have this issue in tracker:  http://www.adventuregamestudio.co.uk/forums/index.php?issue=326.0
There seem to be a solution for this, but I probably just forgot to address this problem in the past.

Ali

Bingo! It works when set to release. (I promise I did try to search for this before posting.)

Thanks for such a speedy fix!

Ali

Again, I'm sorry for the questions, but you're so good at solving them!

When I compile my game using an unmodified build of acwin.exe, I'm seeing distinctly poor performance. It's very laggy and the frame rate drops dramatically when the mouse is moving. The same game compiled with 3.2.1's acwin runs smoothly. The game is graphically intensive (by AGS standards!) but it should run with no problems on my computer.

If it helps, I'm happy to send builds of the game (but I don't want to post them online). All I can glean from the logs is that things initialise in a different order.

Good performance log:
Spoiler
00000001   0.00000000   [5392] AGS: ***** ENGINE STARTUP   
00000002   0.00006671   [5392] AGS: Installing exception handler   
00000003   0.00011289   [5392] AGS: Reading config file   
00000004   0.00174395   [5392] AGS: Initializing allegro   
00000005   1.56819642   [5392] AGS: Setting up window   
00000006   1.57465589   [5392] AGS: Initializing game data   
00000007   1.57494760   [5392] AGS: Initializing TTF renderer   
00000008   1.57754183   [5392] AGS: Initializing mouse   
00000009   1.59350574   [5392] AGS: Checking memory   
00000010   1.59366918   [5392] AGS: Initializing rooms   
00000011   1.59584260   [5392] AGS: Initializing audio vox   
00000012   1.59663796   [5392] AGS: Initializing keyboard   
00000013   1.59992146   [5392] AGS: Install timer   
00000014   1.60005403   [5392] AGS: Initialize sound drivers   
00000015   1.91870975   [5392] AGS: Install exit handler   
00000016   1.91887283   [5392] AGS: Initialize path finder library   
00000017   1.91893876   [5392] AGS: Initialize gfx   
00000018   1.91900063   [5392] AGS: Load game data   
00000019   1.95923865   [5392] AGS: Nelly Cootalot II   
00000020   1.96309674   [5392] AGS: Checking for disk space   
00000021   1.96462083   [5392] AGS: Initializing MOD/XM player   
00000022   1.96472156   [5392] AGS: Initializing screen settings   
00000023   1.96481788   [5392] AGS: Init gfx filters   
00000024   1.96493268   [5392] AGS: Init gfx driver   
00000025   1.96501446   [5392] AGS: Switching to graphics mode   
00000026   1.96514940   [5392] AGS: Widescreen side borders: game resolution: 800 x 600; desktop resolution: 1920 x 1080   
00000027   2.06808972   [5392] AGS: Widescreen side borders: gfx card does not support suitable resolution. will attempt 1066 x 600 anyway   
00000028   2.07134485   [5392] AGS: Attempt to switch gfx mode to 1066 x 600 (32-bit)   
00000029   2.07393074   [5392] AGS: Failed, resolution not supported   
00000030   2.08651900   [5392] AGS: Attempt to switch gfx mode to 800 x 600 (32-bit)   
00000031   3.57547140   [3472] In WM_DEVICECHANGE   
00000032   3.58709121   [3472] SetTimer for WM_DEVICECHANGE Started   
00000033   3.69410610   [3472] In IsDCProcessingDone = true   
00000034   3.73774600   [3472]    
00000035   3.73774600   [3472]  SetTimer for WM_DISPLAYCHANGE and ApplyCSCCoefficients Started    
00000036   5.48003006   [5392] AGS -- InitializeD3DState()   
00000037   5.48077106   [3472] SetTimer for WM_DISPLAYCHANGE Started   
00000038   5.52404118   [5392] AGS: Succeeded. Using gfx mode 800 x 600 (32-bit)   
00000039   5.56739569   [3472] ATTACHED to desktop    
00000040   5.60215330   [5392] AGS: Preparing graphics mode screen   
00000041   5.64254284   [3472] Intel Driver is Active   
00000042   5.69277906   [5392] AGS: Initializing colour conversion   
00000043   5.72389221   [3472] ATTACHED to desktop    
00000044   5.76069212   [5392] AGS: Check for preload image   
00000045   5.77039051   [3472] ATTACHED to desktop    
00000046   5.77646255   [5392] AGS: Initialize sprites   
00000047   5.77747393   [3472] ATTACHED to desktop    
00000048   5.80383253   [5392] AGS: Set up screen   
00000049   5.80803347   [3472] ATTACHED to desktop    
00000050   5.81027842   [5392] AGS: Initialize game settings   
00000051   5.81410789   [3472] ATTACHED to desktop    
00000052   5.82198048   [3472] ATTACHED to desktop    
00000053   5.85046530   [3472] In WM_DEVICECHANGE   
00000054   5.85279942   [3472] WM_DISPLAYCHANGE KillTimer(20192, 0).   
00000055   5.85569334   [3472] SetTimer for WM_DEVICECHANGE Started   
00000056   5.86067247   [3472] In IsDCProcessingDone = true   
00000057   5.88589907   [3472] WM_DISPLAYCHANGE KillTimer(20192, 0).   
00000058   5.89415216   [3472]    
00000059   5.89415216   [3472]  SetTimer for WM_DISPLAYCHANGE and ApplyCSCCoefficients Started    
00000060   5.90796518   [3472] SetTimer for WM_DISPLAYCHANGE Started   
00000061   5.91082191   [3472] ATTACHED to desktop    
00000062   5.92756939   [3472] Intel Driver is Active   
00000063   5.93470526   [3472] ATTACHED to desktop    
00000064   5.93789101   [3472] ATTACHED to desktop    
00000065   5.95331383   [3472] ATTACHED to desktop    
00000066   5.95964384   [3472] ATTACHED to desktop    
00000067   5.96492243   [3472] ATTACHED to desktop    
00000068   5.97823858   [3472] ATTACHED to desktop    
00000069   6.00234270   [3472]    
00000070   6.00234270   [3472]  Inside ApplyCSCCoefficients     
00000071   6.17579794   [5392] AGS: Prepare to start game   
00000072   6.17598200   [5392] AGS: Cursor mode set to 0 ()   
00000073   6.17602730   [5392] AGS: Checking replay status   
00000074   6.17606688   [5392] AGS: Engine initialization complete   
00000075   6.17611504   [5392] AGS: Starting game   
[close]

Bad performance log:
Spoiler
00000001   0.00000000   [6016] AGS: Adventure Game Studio v3.3 Interpreter   
00000002   0.00000000   [6016] Copyright (c) 1999-2011 Chris Jones and 2011-20xx others   
00000003   0.00000000   [6016] ACI version 3.3.0.1132   
00000004   0.00000000   [6016]    
00000005   0.00018197   [6016] AGS: ***** ENGINE STARTUP   
00000006   0.00058342   [6016] AGS: Installing exception handler   
00000007   0.00091421   [6016] AGS: Reading config file   
00000008   0.00956883   [6016] AGS: Initializing allegro   
00000009   1.57971561   [6016] AGS: Setting up window   
00000010   1.58745766   [6016] AGS: Initializing game data   
00000011   1.58749390   [6016] AGS: Initializing TTF renderer   
00000012   1.58803391   [6016] AGS: Initializing mouse   
00000013   1.59730196   [6016] AGS: Checking memory   
00000014   1.59807646   [6016] AGS: Initializing audio vox   
00000015   1.59940434   [6016] AGS: Initializing keyboard   
00000016   1.60218680   [6016] AGS: Install timer   
00000017   1.60248888   [6016] AGS: Initialize sound drivers   
00000018   1.88740277   [6016] AGS: Install exit handler   
00000019   1.88772368   [6016] AGS: Initialize path finder library   
00000020   1.88813138   [6016] AGS: Initialize gfx   
00000021   1.88887000   [6016] AGS: Load game data   
00000022   1.95276260   [6016] AGS: Nelly Cootalot II   
00000023   1.95723104   [6016] AGS: Checking for disk space   
00000024   1.95890903   [6016] AGS: Initializing MOD/XM player   
00000025   1.95915294   [6016] AGS: Initializing screen settings   
00000026   1.95959747   [6016] AGS: Init gfx filters   
00000027   1.96005023   [6016] AGS: Init gfx driver   
00000028   1.96042442   [6016] AGS: Switching to graphics mode   
00000029   1.96083534   [6016] AGS: Widescreen side borders: game resolution: 800 x 600; desktop resolution: 1920 x 1080   
00000030   2.02531362   [6016] AGS: Widescreen side borders: gfx card does not support suitable resolution. will attempt 1066 x 600 anyway   
00000031   2.02586269   [6016] AGS: Attempt to switch gfx mode to 1066 x 600 (32-bit)   
00000032   2.02679944   [6016] AGS: Failed, resolution not supported   
00000033   2.02710032   [6016] AGS: Attempt to switch gfx mode to 800 x 600 (32-bit)   
00000034   3.44518948   [3472] In WM_DEVICECHANGE   
00000035   3.44714141   [3472] SetTimer for WM_DEVICECHANGE Started   
00000036   3.63200998   [3472] In IsDCProcessingDone = true   
00000037   3.67998648   [3472]    
00000038   3.67998648   [3472]  SetTimer for WM_DISPLAYCHANGE and ApplyCSCCoefficients Started    
00000039   3.72939491   [6016] AGS -- InitializeD3DState()   
00000040   3.80321670   [3472] SetTimer for WM_DISPLAYCHANGE Started   
00000041   3.80324721   [6016] AGS: Succeeded. Using gfx mode 800 x 600 (32-bit)   
00000042   3.80341840   [3472] ATTACHED to desktop    
00000043   3.80348897   [3472] Intel Driver is Active   
00000044   3.80367923   [3472] ATTACHED to desktop    
00000045   3.80420995   [3472] ATTACHED to desktop    
00000046   3.80461645   [3472] ATTACHED to desktop    
00000047   3.80468869   [6016] AGS: Preparing graphics mode screen   
00000048   3.80507994   [3472] ATTACHED to desktop    
00000049   3.80552125   [3472] ATTACHED to desktop    
00000050   3.80588984   [6016] AGS: Initializing colour conversion   
00000051   3.80590963   [3472] ATTACHED to desktop    
00000052   3.80602169   [3472]    
00000053   3.80602169   [3472]  Inside ApplyCSCCoefficients     
00000054   3.80654716   [6016] AGS: Check for preload image   
00000055   3.80706263   [6016] AGS: Initialize sprites   
00000056   3.80943608   [6016] AGS: Set up screen   
00000057   3.81299210   [6016] AGS: Initialize game settings   
00000058   3.99656034   [3472] Inside ProcessDisplayChange   
00000059   3.99677777   [3472] ProcessDisplayChange KillTimer(0, 31212).   
00000060   3.99689817   [3472] RetVal = 1, LastError = 14007.   
00000061   3.99696994   [3472] ERROR: Couldn't read regsitry TMMOffForTVStdChangeWA in ProcessDisplayChange File: persistence.cpp    
00000062   3.99706244   [3472] Inside IsModifyRotCapsForDC   
00000063   3.99713254   [3472] IsModifyRotCapsForDC returned SUCCESS   
00000064   3.99719214   [3472]    
00000065   3.99719214   [3472] imukherj: Enter ProcessDRRSModeSetOnDispChange   
00000066   3.99749804   [3472]    
00000067   3.99749804   [3472] imukherj:   
00000068   4.00012398   [3472]    
00000069   4.00012398   [3472] imukherj: Get Power API Pass   
00000070   4.00016737   [3472]    
00000071   4.00016737   [3472] imukherj: GetBackLightSettings   
00000072   4.00530863   [3472]    
00000073   4.00530863   [3472] imukherj: GetBackLightSettings call pass   
00000074   4.05392170   [3472]    
00000075   4.05392170   [3472]  Inside ApplyCSCCoefficients     
00000076   4.18186188   [6016] AGS: Prepare to start game   
00000077   4.18222570   [6016] AGS: Cursor mode set to 0 ()   
00000078   4.18253422   [6016] AGS: Checking replay status   
00000079   4.18278456   [6016] AGS: Engine initialization complete   
00000080   4.18307304   [6016] AGS: Starting game   
[close]

Can you offer any guidance?

Crimson Wizard

#12
You are using Release build this time, right?... Just checking.

E: There were minor perfomance problems in this version before, some got fixed here, others got fixed in future development branch, but I couldn't call perfomance "poor"... there's always a chance you are using specific functions (or greater amount of them). It would be nice to have a look on the game with my own eyes, if that possible ofcourse.

Ali

Yes, I'm using the Release version! I just sent you a PM with a build of the game.

Crimson Wizard

I found something terribly weird. No, rather WEIRD.

It appears our new engine version is constantly recaching sprites, that is - loads them from game file over and over again. This eats significant amount of time.
I wonder how long its been there...

I am going to investigate this.

Ryan Timothy B

I know that AGS caches the Character/Object sprites in a separate dynamicsprite. That way you constantly have 1 sprite in memory of the original size and 1 in memory for the scaling/tinting and possibly transparency.

It probably does recach this every game loop, but I can't be certain.

Crimson Wizard

Quote from: Ryan Timothy on Sun 09/06/2013 22:14:50
I know that AGS caches the Character/Object sprites in a separate dynamicsprite. That way you constantly have 1 sprite in memory of the original size and 1 in memory for the scaling/tinting and possibly transparency.

It probably does recach this every game loop, but I can't be certain.
Yes, but that is different, thing is it keeps original sprite in memory all the time and creates temporary character/object images. It does not recreate them every loop, it does check if they need to be recreated every loop, and creates new ones only when necessary.

However what I was talking about is that engine reloaded original sprite from the file over and over again, endlessly. I ran test with 3.2.1 engine and it does not have this behavior.

Tracing engine modifications back in time I found this error is present for about a year now.  8-0 It is amazing how I did not notice this.
Perhaps this was also the case of great lags reported for PSP port...

Ali

Well, I'm glad to have spotted something weird!

Ryan Timothy B

Just out of curiosity, what modification has caused this issue?

Ali

If that's addressed to me, I haven't made any modifications. It must be something in the ongoing development. Hopefully Crimson Wizard can puzzle it out...

SMF spam blocked by CleanTalk